fprintf(`%3.0f %12.6f %12.6f %12.6f %12.6f %12.6f %12.6f\n`,a,x0,xb

Download Report

Transcript fprintf(`%3.0f %12.6f %12.6f %12.6f %12.6f %12.6f %12.6f\n`,a,x0,xb

PENGERTIAN
Metode Secant (baca: “sekan”) merupakan
modifikasi metode Newton-Raphson. Pada metode
Newton-Raphson, pada setiap proses iterasinya
memerlukan perhitungan nilai dua buah fungsi,
yakni f(xn) dan f’(xn). Apabila kedua fungsi
tersebut tidak rumit, metode tersebut mungkin
sangat baik mengingat kekonvergenannya. Akan
tetapi, tidak semua fungsi dapat diturunkan
dengan mudah, terutama fungsi-fungsi yang rumit.
Sedangkan metode Secant hanya memerlukan
satu fungsi saja yaitu f(xn), yang jika
pemrogramannya dilakukan dengan benar, maka
nilainya dapat diperoleh dari iterasi sebelumnya
f(xn-1). Sehingga metode Secant akan
memerlukan waktu yang lebih sedikit untuk tiaptiap iterasinya dari pada metode Newton.
Kelebihan
• Tidak memerlukan perhitungan turunan
• Secara lokal, laju kekonvergenannya superlinier jika sudah dekat ke akar yang dicari .
• Galat hampiran dapat diestimasi
• Lebih mudah diimplementasikan daripada
metode Newton.
• Dua langkah iterasi metode TB hampir setara
dengan satu langkah iterasi Newton.
Kekurangan
• Memerlukan dua hampiran awal
• Kekonvergenan tidak dijamin untuk iterasi yang
jauh dari akar yang dicari.
• Kekonvergenannya mungkin lambat atau tidak
sama sekali.
• Laju kekonvergenannya tidak secepat metode
Newton.
• Kriteria penghentian iterasi tidak jelas.
CONTOH PROGRAM
clc;
clear;
disp('Program Metode Secant');
disp('*******************************');
x0=input('Masukkan X0 :');
xb=input('Masukkan X1 :');
a=0;
e=10;
disp('------------------------------------------------------------------------------------');
disp(' a
X0
X1
f(X0)
f(X1)
x2
e');
disp('------------------------------------------------------------------------------------');
while e>0.0001
fx=x0^2-4;
fxb=xb^2-4;
d = xb - (fxb*(xb-x0)/(fxb-fx));
e=abs(x0-xb);
x0 = xb;
xb = d;
a=a+1;
fprintf('%3.0f %12.6f %12.6f %12.6f %12.6f %12.6f %12.6f\n',a,x0,xb,fx,fxb,d,e)
end;
disp('_______________________________________________________________');
fprintf('Akarnya Adalah = %10.8f\n',xb);
OUTPUT PROGRAM
Program Metode Secant
*******************************
Masukkan X0 :1
Masukkan X1 :4
--------------------------------------------------------------------------------------------------------a
X0
X1
f(X0)
f(X1)
x2
e
--------------------------------------------------------------------------------------------------------1 4.000000 1.600000 -3.000000 12.000000 1.600000 3.000000
2 1.600000 1.857143 12.000000 -1.440000 1.857143 2.400000
3 1.857143 2.016529 -1.440000 -0.551020 2.016529 0.257143
4 2.016529 1.999390 -0.551020 0.066389 1.999390 0.159386
5 1.999390 1.999997 0.066389 -0.002438 1.999997 0.017138
6 1.999997 2.000000 -0.002438 -0.000010 2.000000 0.000607
7 2.000000 2.000000 -0.000010 0.000000 2.000000 0.000003
_________________________________________________________________
Akarnya Adalah = 2.00000000
clc;
clear;
disp('Program Metode Secant');
disp('*******************************');
x0=input('Masukkan X0 :');
xb=input('Masukkan X1 :');
a=0;
e=10;
disp('------------------------------------------------------------------------------------');
disp(' a
X0
X1
f(X0)
f(X1)
x2
e');
disp('------------------------------------------------------------------------------------');
while e>0.0001
fx=x0^2-3;
fxb=xb^2-3;
d = xb - (fxb*(xb-x0)/(fxb-fx));
e=abs(x0-xb);
x0 = xb;
xb = d;
a=a+1;
fprintf('%3.0f %12.6f %12.6f %12.6f %12.6f %12.6f %12.6f\n',a,x0,xb,fx,fxb,d,e)
end;
disp('____________________________________________________________________________________');
fprintf('Akarnya Adalah = %10.8f\n',xb);
Program Metode Secant
*******************************
Masukkan X0 :1
Masukkan X1 :4
------------------------------------------------------------------------------------------------------a
X0
X1
f(X0)
f(X1)
x2
e
------------------------------------------------------------------------------------------------------1 4.000000 1.400000 -2.000000 13.000000 1.400000 3.000000
2 1.400000 1.592593 13.000000 -1.040000 1.592593 2.600000
3 1.592593 1.747525 -1.040000 -0.463649 1.747525 0.192593
4 1.747525 1.731405 -0.463649 0.053843 1.731405 0.154932
5 1.731405 1.732048 0.053843 -0.002238 1.732048 0.016120
6 1.732048 1.732051 -0.002238 -0.000010 1.732051 0.000643
7 1.732051 1.732051 -0.000010 0.000000 1.732051 0.000003
_______________________________________________________________
Akarnya Adalah = 1.73205081