Tag: Persamaan Linier

  • Matlab – Interpolasi Linier

    Matlab – Interpolasi Linier

    AhmadDahlan.NET – Interpolasi linier merupakan metode yang digunakan untuk mencari nilai dari sebuah titik yang tidak diketahui dari dua buah titik yang membentuk garis linier yang sudah diketahui terlebih dahulu. Persamaan garis linier adalah :

    y = mx + c

    Interpolasi Garis LInier dengan Matlab

    Misalkan dua buah yang membentuk garis lurus dari titik P1 di x1,y1 ke titik P2 di titik x2,y2. Maka bisa dibandingkan antara P1 dan P2 sebagai berikut :

    Interpolasi Newton Persamaan Garis Linier

    Persamaan ini kemudian bisa ditulis menjadi :

    Persamaan Garis Linie rdi garis Koordinat

    Persamaan ini bisa digunakan untuk mencari nilai y di titik x sembarang. Solusinya adalah :

    clear;
    clc;
    disp('Interpolasi Linier');
    disp('================================');
    x=input('masukkan nilai x= ');
    x1=input('masukkan nilai x1= ');
    x2=input('masukkan nilai x2= ');
    y1=input('masukkan nilai y1= ');
    y2=input('masukkan nilai y2= ');
    y=((y2-y1)/(x2-x1))*(x-x1)+y1;
    disp(['nilai y= ', num2str(y)]);

    Setelah itu silahkan Save dan run script yang dibuat!

    Contoh Kasus :

    Sebuah hasil pengukuran sebuah benda yang bergerak terhadap satuan waktu seperti pada tabel di bawah ini!

    Jarak (m)5101520
    Waktu (s)3,46,610,113,8
    1. Tentukan berapa waktu yang dibutuhkan untuk bergerak sejauh 12 m!
    2. Tentukan Jarak tempuh benda jika bergerak selam 12 sekon!
  • Matlab – Solusi Persamaan Linier dengan Metode Jacobi dan Gauss-Seidel

    Matlab – Solusi Persamaan Linier dengan Metode Jacobi dan Gauss-Seidel

    AhmadDahlan.Net– Mari kita asumsikan kasus Persamaan Linier sebagai berikut :

    a11x1+a12x2+...+a1nxn=b1
    a21x2+a22x2+...+a2nbn=b2
    .
    .
    . am1x1+am2x2+...+amnbn=bn

    Metode Jacobi dilakukan untuk persamaan linier dimana a11, a21, .. am1 tidak 0. Solusi dari masalah ini adalah :

    x1=1/a11(b1 - a12x2 - a13x3 - … a1nxn)
    x2=1/a22(b2 - a22x2 - a23x3 - … a2nxn)
    .
    .
    . xm=1/amm(bm - am2xm - am3xm - … amnxn)

    Solusi dari Jacobi Metode untuk masalah ini adalah :

    Metode Jacoby untuk persamaan Linier

    for i=1,2,..,n

    A. Metode Gauss-Seidel

    Matrik awal A, b dan perkiraan x, inpuut-nya

    A=[5 -2 3 0 6; -3 9 1 -2 7.4; 2 -1 -7 1 6.7; 4 3 -5 7 9; 2 3.5 6.1 -4 -8.1]
    
    A =
    5.0000 -2.0000 3.0000 0 6.0000 -3.0000 9.0000 1.0000 -2.0000 7.4000 2.0000 -1.0000 -7.0000 1.0000 6.7000 4.0000 3.0000 -5.0000 7.0000 9.0000 2.0000 3.5000 6.1000 -4.0000 -8.1000
    
    b=[-1 2 3 0.5 3.1]'
    
    b =
    -1.0000 2.0000 3.0000 0.5000 3.1000
    
    x=rand(5,1)
    
    x =
    0.5447 0.6473 0.5439 0.7210 0.5225
    
    n=size(x,1);
    normVal=Inf;
    % toleransi
    tol=1e-3; GaussItr=0;

    Script Solusi

    plotGauss=[];
    while normVal>tol 
        x_old=x; 
        for i=1:n 
            sigma=0; 
            for j=1:i-1 
                sigma=sigma+A(i,j)*x(j); 
            end 
            for j=i+1:n 
                sigma=sigma+A(i,j)*x_old(j); 
            end x(i)=(1/A(i,i))*(b(i)-sigma); 
        end 
        GaussItr=GaussItr+1; 
        normVal=norm(x_old-x); 
        plotGauss=[plotGauss;normVal];
    end
    fprintf('solusinya adalah : \n%f\n%f\n%f\n%f\n%f in %d iterations',x,GaussItr);

    B. Metode Jacobi

    plotJacobi=[];
    while normVal>tol 
        xold=x; 
        for i=1:n 
           sigma=0; 
           for j=1:n 
               if j~=i 
                 sigma=sigma+A(i,j)*x(j); 
               end 
           end 
           x(i)=(1/A(i,i))*(b(i)-sigma); 
         end 
         JacobItr=JacobItr+1; 
         normVal=norm(xold-x); 
         plotJacobi=[plotJacobi;normVal];
    end
    
    fprintf('Solusi : \n%f\n%f\n%f\n%f\n%f in %d iterations',x,JacobItr);

    C. Perbandingan Hasil Metode Gauss Seidel Vs Jacobi

    figure
    hold on
    plot(1:5:GaussItr,plotGauss(1:5:GaussItr),'LineWidth',2)
    plot(1:5:JacobItr,plotJacobi(1:5:JacobItr),'LineWidth',2)
    text(GaussItr,0.2,'\downarrow')
    text(GaussItr,0.3,'Gauss Seidel')
    text(JacobItr,0.3,'\downarrow')
    text(JacobItr,0.4,'Jacobi')
    legend('Gauss Seidel ','Jacobi ')
    ylabel('Error Value')
    xlabel('Number of iterations')
    title('Gauss Seidel Vs Jacobi')
    hold off
  • Matlab – Metode Eliminasi Gauss

    Matlab – Metode Eliminasi Gauss

    AhmadDahlan.NET – Metode Gauss adalah sebuah metode mengoperasikan nilai-nilai matriks agar menjadi lebih sederhana menggunakan operasi baris elementer (OBE). Fungsinya metode Gauss ini banyak digunakan untuk menyelesaikan persamaan linier yang kompleks.

    Hasil dari operasi ini biasanya berbentuk matriks eselon-baris. Metode ini dimulai dengan mengubah persamaan linear ke dalam matriks ter-augmentasi. Selanjutnya matriks Eselon-baris ini disubtitusi invers.

    Secara umum persamaan linier dapat dituliskan dalam notasi sebagai berikut :

    a21x1 + a22x2 + … + a3nxn = b2
    a21x1 + a22x2 + … + a3nxn = b2
    am1x1 + am2x2 + … + amnxn = bm

    Bentuk Esolon Baris

    (1) Dalam baris elemen-elemen matriks yang tidak semuanya nol, bilangan pertamanya harus dimulai 1.

    Perhatikan baris pertama dan baris kedua matriks yang berwarna biru dan hijau, ke dua baris tersebut telah memenuhi syarat karena bilangan pertama dimulai dari 1, sedangkan yang berwarna merah dimulai dari -1, bukan 1.

    (2) semua baris elemen-elemen matriks yang isinya 0 harus diletakkan paling bawah.

    Contoh salah apda elemen baris operasi Matriks dengan metode Gauss

    Pada matrisk di atas, aturan ke dua tidak terpenuhi karena baris yang semuanya nol tidka berada paling bawah, posisnya di urut dari 0 yang paling sedikit di awal sampai ke bawah. Hal ini juga membuat susunan matriks ini dikenal dengan sebutan matrik segitiga terbalik.

    Sususnan Matrisk yang benar dalam metode Gauss

    (3) Jika terdapat matriks 1 utama yang memenuhi aturan pertama (1) maka letak posisi satunya harus berada di posisi sebelah kanan dari 1 di atasnya.

    Conotoh melanggar aturan ketiga dari metode eliminasi gauss

    Matrik ini melanggar aturan (3) karena pada baris ketiga angka 1 utamanya terlatak pada kolom yang sama, harusnya lebih ke kanan, misalnya sebagai berikut :

    Bentuk Matriks tiga kali terbalik Metode Gauss 0 dengan

    Misalnya tiga buah persaman linier sebagai berikut :

    1. x + y + 2z = 9
    2. 2x + 4y – 3z = 1
    3. 3x + 6y – 5x = 0

    Metode Gauss di Matlab (non-Program)

    A=[1 1 2 9;2 4 -3 1;3 6 -5 0]
    A(2,:)=-2*A(1,:)+A(2,:)
    A(3,:)=-3*A(1,:)+A(3,:)
    A(2,:)=A(2,:)/2
    A(3,:)=-3*A(2,:)+A(3,:)
    A(3,:)=-2*A(3,:)
    z=A(3,4)
    y=A(2,4)-z*A(2,3)
    x=A(1,4)-(A(1,2)*y+A(1,3)*z)

    Jika sintaks ini ditulis dengan benar, seharusnya akan muncul matriks dengan hasil sebagai berikut :

    1 0 0 1
    0 1 0 2
    0 0 0 3

    Dari hasil ini bisa disimpulkan x =1, y = 2 dan z = 3

    Metode Gauss-Jordan (Program)

    n=input('Jumlah Matriks=');
    for i=1:n-1
       M(1,:)=input(['Masukkan SPL baris ke-'num2str(i) '=']);
    end
    disp(M)
    for i=1;n-1
       if M(i,i)==0
           a=1;
           while M(a,1)==0
               a=a+1;
           end
           T=M(i,:);
           M(i,:)=M(a,:);
           M(a,:)=T;
           disp(['B'num2str(i)'<--> B'num2str(a)])
           disp(M)
       end
       for j=i+1:n
          if(M,j)~=0
              disp (['B'num2str(j)'-(num2str(M,(j,i))'/') ...
                   '(num2str(M,(j,i))
              M(j,:)=M(J,:)=((M(j,i)./M(i,i))*(M(i,i));
              disp(M)
           end
        end
    end
    if M(n,n)=0&M(n,n+1)~=0
      disp('Tidak memiliki solusi tunggal')
    else
       for i=n:-1:2
           for j=1-1:-1:1
               disp('B'num2str(j)'-('num2str(j,i))'/'...
                   num2str(M,(j,i))'B'num2str(i)])
               M(j,:)=M(j,:)-(1/M(j,i)./M(i,i))*(i,:));
               disp(M)
           end
       end
       for i=1:n
           disp(['(1/'num2str(M(i,i)) ')B' num2str(i)])
           M(i,:)-1(i,i))*M((i,:);
           disp (M)
       end
       disp('Matrik Solusi')
       disp (M)
       disp('Solusi')
       for i=1:n
           disp(['x'num2str(i) '-' num2str(M(1,n+1))])
       end
    end

    Seteleh menyelesaikan syntaks tersebut, silahkan di run programnya.

    Jumlah Matriks = 3
    Masukkan SPL baris ke-1=[1 1 2 9]
    Masukkan SPL baris ke-2=[2 4 -3 1]
    Masukkan SPL baris ke-3=[3 6 -5 0]

    Setelah itu enter input tersebut.

  • MATLAB – Pemecahan Masalah Persamaan Linier Multivariable

    MATLAB – Pemecahan Masalah Persamaan Linier Multivariable

    AhmadDahlan.Net – Persamaan Linier Multivariable merupakan salah satu pemodelan matematika yang digunakan untuk menganalisis masalah-masalah dengan Variable lebih dari satu. Pada permasalah Multivariable dengan dua variable pada kasus-kasus sederhana penyelesaiannya bisa dilakukan dengan melakukan perhitungan manual, tapi pada kasus dengan tiga variabel dengan maslaah kompleks, penyelesaian membutuhkan cara yang lebih lama dan rentang dengan human eror dalam penyelesaian.

    Sebagai contoh pemodelan masalah berikut ini :

    Andi membeli 3 buah buku, 2 buah pulpen dan satu penghapus dengan harga 12 ribu rupiah. Budi membeli 2 buah buku, 7 buah pulpen dan 2 penghapus dengan haraga 28 ribu rupiah, sedangkan Tono yang menukar 7 buah penghapus dengan 8 buah buku dan 2 pulpen, harus menambah 4 ribu rupiah.

    Pertanyaannya adalah berapakah harga dari buku, pulpen dan penghapus tersebut?

    Berdasarkan masalah tersebut kita akan membuat pemodelan matematis seperti berikut ini :

    3x + 2y + z = 12.000
    2x + 7y + 2z = 28.000
    8x + 2y - 7z = 4.000

    Solusinya bisa dilakukan perhitungan dengan metode matriks dengan metode :

    Penyelesaian Masalah Persamaan dengan tiga variable

    Solusi dari masalah ini bisa dimodelkan dengan bantuan komputasi di Matlab seperti solusi berikut :

    Metode Kanan

    » A = [3 2 1; 2 7 2; 8 2 -7]
    
    A =
    
    3 2 1
    2 7 2
    8 2 -7
    
    » B = [12000; 28000; 4000]
    
    B =
    
    12000
    28000
    4000
    
    » X=A\B
    
    X =
    
    1324.5
    3099.3
    1827.8
    Metode Kiri
    » A = [3 2 8; 2 7 2; 1 2 -7]
    
    A =
    
    3 2 8
    2 7 2
    1 2 -7
    
    » B = [12000 28000 4000]
    
    B =
    
    12000 28000 4000
    
    » X =B/A
    
    X =
    
    1324.5 3099.3 1827.8

    Kesimpulan solusi ini adalah x = 1324.5, y = 3099.3 dan z = 1827.8.