Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
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
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
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
27
Ujian praktikum hari sabtu 26 oktober jam 09.00-10.00 atau 10.00-11.00
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.