Sistem Persamaan Linear Praktikum 5 Sistem Persamaan Linear
Ruang lingkup bahasan Mahasiswa mampu membuat program Sistem Persamaan Linear menggunakan metode Langsung dan tak langsung(iterasi Jacobi dan metode iterasi Gauss Seidel). Mahasiswa bisa mengembangkan atau memodifikasi programnya sesuai dengan metode. Mahasiswa bisa mengimplementasikan aplikasi program kedalam MATLAB.
Penyelesaian SPL Secara langsung 1. Eliminasi : Eliminasi Gauss, Gauss Jordan 2. Dekomposisi : Dekomposisi lower-upper(LU) Secara iterasi 3. Iterasi : Iterasi Jacobi dan Gauss Seidel
Bentuk umum
Masih ingatkah Matrik dalam MATLAB….? Coba bangkitkan sembarang Matriks ukuran 4x4 Gunakan perintah tranpose, invers, perkalian matriks, determinan, menampilkan diagonal matriks Coba bangkitkan built in function matriks dalam matlab…
Metode Langsung Misal tentukan penyelesaian SPL di bawah ini
; Penyelesaian langsung berarti X=inv(A)*b atau X=A\b
Substitusi maju function [] = forsub(A,b) x=[]; n=length(b); m=length(b); for k=1:n, for i=2:m x(1)=b(1)/A(1,1); J=b(i)-A(i,[1:i-1])* x([1:i-1])'; x(i)=J/A(i,i); end
Substitusi mundur function [x] = backsub(A,b) x=[]; n=length(b); m=length(b); for k=1:n, for i=[m-1:-1:1] x(n)=b(n)/A(n,n); J=b(i)-A(i,[i+1:n])* x([i+1:n])'; x(i)=J/A(i,i); end
Eliminasi Gauss Metode ini digunakan untuk menyelesaikan SPL dengan mengubah SPL ke dalam bentuk SPL segitiga atas, yakni bentuk yang semua koefisien dibawah diagonal utamanya bernilai nol. Bentuk segitiga atas ini dapat diselesaikan menggunakan subtitusi mundur
Contoh Misal tentukan penyelesaian SPL di bawah ini dengan Eliminasi Gauss
Secara Analitik Caranya pake Operasi Baris Dasar(OBD) atau Operasi Baris Elemen(OBE)…. Cari sendiri ya….
Secara Numerik function [x, err] = gauselim(A, b) err = 0; [n,m] = size(A); if n ~= m disp('Error in gauselim: Matrix must be square.') err = 2; return end x = zeros(size(b)); m = n+1; A(:,m) = b; for k = 1:n-1 [A, err] = gepivot(A, k); % partial pivoting if err ~= 0 disp('Matrix is singular'); return for i = k+1:n term = A(i,k)/A(k,k); for j = k+1:m A(i,j) = A(i,j) - term*A(k,j); if A(n,n) == 0 % BACK SUBSTITUTION err = 1; disp('Matrix is singular'); return x(n) = A(n,m)/A(n,n); for i = n-1:-1:1 sum = 0; for j = i+1:n sum = sum + A(i,j)*x(j); x(i) = (A(i,m) - sum) / A(i,i);
Eliminasi Gauss Jordan Mirip seperti Eliminasi Gauss cuma metode Jordan membuat nol elemen-elemen di bawah maupun di atas diagonal utama matriks. Hasilnya berupa matrik satuan. Pada metode ini kita tidak perlu mensubstitusi mundur lagi. Bentuknya:
Dekomposisi lower-upper(LU) y=inv(L)*b; x=inv(U)*y;
contoh Selesaikan SPL di bawah ini: 1. 2.
Iterasi Jacobi Metode ini adalah teknik penyelesaian SPL berukuran nxn, Ax=b, secara iteratif. Untuk menyelesaikan SPL dengan metode ini diperlukan suatu nilai pendekatan awal yaitu x(0) biasaya tidak diketahui dan dipilih x(0)=0. Algoritmanya:
Contoh: Tentukan solusi SPL di bawah ini dengan nilai awal P0=(x0,y0,z0)=(0,0,0) 2x+8y-z=11 5x-y+z=10 -x+y+4z=3
Secara analitik
Secara Numerik dg MATLAB 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,end bandingkan dengan penyelesaian langsung!!!
Kekonvergenan Dapat dilihat bahwa hasil iterasi dengan penyelesaian langsung sangatlah berbeda, ini disebabkan kekonvergenannya. Metode ini akan bernilai konvergen jika matriksnya merupakan matriks dominan secara diagonal, yaitu apabila unsur diagonal pada kolom lebih besar dari jumlah unsur- unsur lainnya pada kolom tersebut.
Lanjt.. Coba matriksnya kita ubah 5x-y+z=10 2x+8y-z=11 -x+y+4z=3
Iterasi Gauss Seidel Metode iterasi Gauss-Seidel adalah metode yang menggunakan proses iterasi hingga diperoleh nilai-nilai yang berubah. Sama seperti iterai Jacobi, Gauss-Seidel juga menggunakan nilai hampiran awal. Algoritmanya:
Contoh: Gunakan metode iterasi Gauss-Seidel untuk: 27x+6y-z=85 Dengan nilai awal (x0,y0,z0)=(0,0,0)
Secara analitik
Lanjt…
Secara Numerik dg MATLAB 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,end bandingkan dengan penyelesaian langsung!!!
TUGAS 2 Gunakan metode secara langsung (eliminasi gauss, dekomposisi LU) dan iterasi (Jacobi, Gaussa seidel) Untuk menentukan solusu dari SPL berikut. Buku Sahid hal. 109 No. 3 Pilih 2 persamaan , kecuali A dari 6 persamaan. (Gunakan semua metode yang sudah dipelajari baik yang langsung maupun iterasi). Dikumpulkan ke: apri_math@yahoo.com Dengan format TG2_NRP.doc/docx Semua M-File dicopy ke word. Dikumpul paling lambat kamis, 15 Juli 2010 pukul 23.59 WIB 2The End