Jumat, 10 Agustus 2012

Contoh source code matlab untuk metode bagi dua

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: