Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

sistem persamaan linear

Presentasi serupa


Presentasi berjudul: "sistem persamaan linear"— Transcript presentasi:

1 sistem persamaan linear
Praktikum 6 sistem persamaan linear

2 Latihan bermain matriks 4x4
transpose, invers, determinan, ekstrak diagonal matriks, operasi matriks

3 Cara menyelesaikan SPL
Secara langsung Eliminasi gauss, gauss-jordan Dekomposisi L-U Secara iterasi Iterasi jacobi, gauss-seidel

4 Bentuk umum SPL a koefisien konstanta, b konstanta, n banyaknya persamaan

5 Penyelesaian metode langsung
X=inv(A)*b atau X=A\b

6 Matriks SPL segitiga atas -> subs. mundur
Matriks SPL segitiga bawah -> subs. maju

7 Segitiga Atas Substitusi Langkah Mundur Mula-mula hitung:
Kemudian untuk , hitung:

8 Ketik di scinote, lalu gunakan untuk menyelesaikan SPL
function x=backsub(A,b) [m n]=size(A); x=[]; x(n,1)=b(n,1)/A(n,n); for i=n-1:-1:1 jum=0; for j=i+1:n jum=jum+A(i,j)*x(j,1); end x(i,1)=(b(i,1)-jum)/A(i,i); endfunction

9

10 Ketik di scinote, lalu gunakan untuk menyelesaikan SPL
function x=forsub(A,b) [m n]=size(A); x=[]; x(1,1)=b(1,1)/A(1,1); for i=2:n jum=0; for j=1:i-1 jum=jum+A(i,j)*x(j,1); end x(i,1)=(b(i,1)-jum)/A(i,i); endfunction

11 Eliminasi Gauss Menyelesaikan SPL dengan mengubah SPL itu menjadi matriks segitiga atas (pakai OBD), lalu selesaikan dengan substitusi mundur

12

13 function x=gausselim(A,b)
[m n]=size(A); x=[]; for i=1:n-1 for j=i:m if A(j,i)~=0 p=j; break; end temp=A(i,:); A(i,:)=A(p,:); A(p,:)=temp; temp=b(i,1); b(i,1)=b(p,1); b(p,1)=temp; for j=i+1:n s=A(j,i)/A(i,i); for k=i+1:n A(j,k)=A(j,k)-s*A(i,k); end b(j,1)=b(j,1)-s*b(i,1); x=backsub(A,b); endfunction

14 Contoh

15 Eliminasi Gauss-Jordan
Metode ini mengubah matriks SPL menjadi matriks satuan sehingga tidak perlu menggunakan subtitusi mundur

16 Fungsi pivot function [A, err] = gepivot(A, k) err = 0; [n, m] = size(A); piv = A(k,k); newpivot = k; for i = k+1:n if abs(A(i,k)) > abs(piv) newpivot = i; piv = A(i,k); end if piv == 0 err = 1; elseif newpivot ~= k for j = k:m temp1 = A(k,j); temp2 = A(newpivot,j); A(k,j) = temp2; A(newpivot,j) = temp1; end endfunction

17 Eliminasi Gauss-Jordan
function [x, err] = gaussjord(A, b) err = 0; x = zeros(size(b)); [n,m] = size(A); if n ~= m disp('error. bukan matiks segi') err = 2; return end m = n+1; A(:,m) = b; for k = 1:n if k < n [A, err] = gepivot(A, k); if err ~= 0 disp('matriks singular'); return for i = 1:n if i ~= k term = A(i,k)/A(k,k); for j = k:m A(i,j) = A(i,j) - term*A(k,j); end temp = A(k,k); A(k,j) = A(k,j)/temp; x=A(:,m);

18 Contoh

19 Dekomposisi L-U [l,u]=lu(a) [l,u,e]=lu(a)

20 Iterasi Jacobi Menyelesaikan SPL berukuran nxn secara iteratif
Diawali dengan memilih nilai awal x(0)

21 Contoh Tentukan solusi SPL di bawah ini dengan nilai awal

22 function [X,g,H]=jacobi(A,b,X0,T,N) H=X0'; n=length(b); X=X0; for k=1:N for i=1:n s=b(i)-A(i,[1:i-1,i+1:n])*X0([1:i-1,i+1:n]); X(i)=s/A(i,i); end g=abs(X-X0); err=norm(g); relerr=err/(norm(X)+%eps); X0=X; H=[H;X0']; if (err<T)|(relerr<T), break, endfunction

23 Hasilnya sedikit berbeda dengan metode langsung atau eliminasi
Metode ini akan bernilai konvergen jika matriksnya merupakan matriks dominan secara diagonal, yaitu apabila unsur diagonal atau elemen aii merupakan elemen terbesar pada setiap baris. Coba matriksnya kita ubah 5x-y+z=10 2x+8y-z=11 -x+y+4z=3

24 Iterasi Gauss-Seidel Hampir sama dengan iterasi jacobi, tapi nilai variabelnya berubah tiap iterasi

25 Contoh Gunakan metode iterasi Gauss-Seidel untuk: 27x+6y-z=85
Dengan nilai awal

26 function [X,g,H]=gaussd(A,b,X0,T,N) H=X0'; n=length(b); X=X0; for k=1:N for i=1:n s=b(i)-A(i,[1:i-1])*X0([1:i-1])-A(i,[i+1:n])*X0([i+1:n]); X(i)=s/A(i,i); end g=abs(X-X0); err=norm(g); relerr=err/(norm(X)+%eps); X0=X; H=[H;X0']; if (err<T)|(relerr<T), break, endfunction


Download ppt "sistem persamaan linear"

Presentasi serupa


Iklan oleh Google