Setelah memasuki trimester 4 akhirnya bertemunya juga pada materi Metode Numerik di Matematika, walaupun pada trimester-trimester sebelumnya sudah sedikit merasakan “hawa-hawa” metode numerik dengan mempresentasikan berbagai metode penyelesaian persamaan linier dengan matriks, seperti metode Gauss, Gauss Jordan, Cremer, Dekomposisi LU, dan Iterasi. nah pada kali ini kami di tugaskan dengan “memerintahkan” matlab untuk menghitung itu semua. ini adalah contohnya walapun sebenarnya anda dapat merubah-rubah sedikit sesuai dengan “kreasi” anda:
function [U,B,x]=ElimGauss(A,b,jejak)
U=A;
B=b;
n=length(B);
for k=1:(n-1)
for i=(k+1):n
if U(k,k)~=0 % menghindari apabila elemen diagonal=0
pengali=U(i,k)/U(k,k);
U(i,k)=0;
end
for j=(k+1):n
U(i,j)=U(i,j)-pengali*U(k,j);
end;
B(i)=B(i)-pengali*B(k);
if jejak==1
U
pause
end;
end;
end;
% mencari elemen-elemen dari X
y(n)=B(n)/U(n,n);
for i=(n-1):(-1):1
s=B(i);
for j=(i+1):n
s=s-U(i,j)*y(j);
end;
if U(i,i)~=0
y(i)=s/U(i,i);
end
end;
x=y';
simpan script diatas dalam bentuk *.m pada salah satu folder anda. Penyelesaian contoh soal pada kode di atas adalah sebagai berikut:
>>A=[1 1 1;1 -2 2;1 2 -1] <enter>
A =
1 1 1
1 -2 2
1 2 -1
>>b=[0;4;2] <enter>
b =
0
4
2
>> [U,B,x]=ElimGauss(A,b,1) <enter>
pada fungsi ElimGauss.m, baris yang pertama, gunakan nilai jejak=1 untuk mengetahui langkah
demi langkah proses eliminasi, tetapi jika hanya hasil akhir saja yang dikehendaki maka digunakan nilai jejak=0.
Tidak ada komentar:
Posting Komentar