Program Matlab
dengan menggunakan Metode Bagi Dua
Dengan soal
sebagai berikut :
F(x) = sinx^2 + cosx^2
a=0, b=3,
epsilon=0.01
Perintah program :
clc;
clear;
%f(x)=sin(x^2)+cos(x^2)
a=0;
b=3;
epsilon = 0.01;
iterasi=0;
disp('METODE
BAGI DUA untuk persamaan f(x)=sin(x^2)+cos(x^2)');
disp('a=0,
b=3, epsilon=0.01');
disp('Rifqi
Annora Mulya');
disp('0915031071');
disp('Iter a
b c f(a)
f(b) f(c) selang baru lebar');
while
abs(b-a) > epsilon;
c=(a+b)/2;
fc=
sin(c^2)+cos(c^2);
fa=
sin(a^2)+cos(a^2);
fb=
sin(b^2)+cos(b^2);
fprintf('\n
%3g %3.4f %5.4f %5.4f %10.7f %10.7f %10.7f',iterasi,a,b,c,fa,fb,fc);
if
fa*fc < 0;
b=c;
selang = '[a,c]';
else;
a=c;
selang = '[c,b]';
end;
fprintf('
%8s %10.7f\n',selang,abs(b-a));
iterasi=iterasi+1;
end;
akar = c;
fprintf('\n\nAkarnya
adalah = %8.7f\n', akar);
fprintf('Jumlah
Iterasi = %g\n', iterasi);
Hasil source
code metode bagi dua
METODE BAGI DUA
untuk persamaan F(x) = sinx^2 + cosx^2
a=0, b=3, epsilon=0.01
Rifqi Annora
Mulya
0915031071
Iter a
b c f(a)
f(b) f(c) selang baru lebar
0 0.0000 3.0000 1.5000 1.0000000 -0.4990118 0.1498996
[c,b] 1.5000000
1 1.5000 3.0000 2.2500 0.1498996 -0.4990118 -0.5963325 [a,c]
0.7500000
2 1.5000 2.2500 1.8750 0.1498996 -0.5963325 -1.2962336 [a,c]
0.3750000
3 1.5000 1.8750 1.6875 0.1498996 -1.2962336 -0.6673888 [a,c]
0.1875000
4 1.5000 1.6875 1.5938 0.1498996 -0.6673888 -0.2585334 [a,c]
0.0937500
5 1.5000 1.5938 1.5469 0.1498996 -0.2585334 -0.0517879 [a,c]
0.0468750
6 1.5000 1.5469 1.5234 0.1498996 -0.0517879 0.0499576
[c,b] 0.0234375
7 1.5234 1.5469 1.5352 0.0499576 -0.0517879 -0.0007216 [a,c]
0.0117188
8 1.5234 1.5352 1.5293 0.0499576 -0.0007216 0.0246705
[c,b] 0.0058594
Akarnya adalah =
1.5292969
Jumlah Iterasi =
9
Tidak ada komentar:
Posting Komentar