Beruflich Dokumente
Kultur Dokumente
x = zeros(n,1);
%starting vector
while k <= N
x(:,k+1) = Tj*x(:,k) + cj;
if norm(x(:,k+1)-x(:,k)) < tol
disp('The procedure was successful')
disp('Condition ||x^(k+1) - x^(k)|| < tol was met after k
iterations')
disp(k); disp('x = ');disp(x(:,k+1));
break
end
k = k+1;
end
if norm(x(:,k+1)- x(:,k)) > tol || k > N
disp('Maximum number of iterations reached without satisfying
condition:')
disp('||x^(k+1) - x^(k)|| < tol'); disp(tol);
disp('Please, examine the sequence of iterates')
disp('In case you observe convergence, then increase the
maximum number of iterations')
disp('In case of divergence, the matrix may not be diagonally
dominant')
disp(x');
end
(disave m-file dengan nama iterasi_jacobi(A, b, N))
Sumber:
http://m2matlabdb.ma.tum.de/download.jsp?MC_ID=3&MP_ID=407
Keterangan:
function jacobi(A, b, N)
a. A adalah matriks koefisien
b. b adalah matriks vector sebelah kanan tanda =
c. N adalah jumlah iterasi
d. Batas error yang digunakan ,tol=0,00015
Lalu jalankan program :
Pertama kali menginput matriks koefisien (A):
>> A=[1 -1 -2 ; 2 -2 1 ; 3 -2 7];
>> A
A=
1
2
3
-1
-2
-2
-2
1
7
%starting vector
while k <= N
x(:,k+1) = Tg*x(:,k) + cg;
if norm(x(:,k+1)-x(:,k)) < tol
disp('The procedure was successful')
disp('Condition ||x^(k+1) - x^(k)|| < tol was met after k
iterations')
disp(k); disp('x = ');disp(x(:,k+1));
break
end
k = k+1;
end
150
Terakhir memanggil fungsi eksternal untuk menghitung iterasi Gauss Seidel yang
telah disimpan sehingga dihasilkan sebagai berikut:
>> gauss_seidel_nizam(A, b, N)
The procedure was successful
Condition ||x^(k+1) - x^(k)|| < tol was met after k iterations
24
x=
29.8000
28.4000
-1.8000
Dari hasil diatas bahwa hasil iterasi adalah
. Dan hasil di dapatkan pada iterasi ke 24