Jumat, 10 Agustus 2012

Contoh source code matlab untuk metode posisi palsu


Program Matlab dengan menggunakan Metode Posisi Palsu
Dengan soal sebagai berikut :
F(x) = sinx^2 + cosx^2
a=0, b=3, epsilon=0.01
Perintah program :
syms x;
f=sin(x^2)+cos(x^2);
a=0;
b=3;
et=0.01;
e=abs(b-a);
i=1;
disp(' i      a       b      c     f(a)    f(b)   f(c)    E');
disp('----------------------------------------------------------');
clama=a;
cbaru=b;
while (e > et ) & (clama ~= cbaru);
    fa=subs(f,x,a);
    fb=subs(f,x,b);
    %c=(a+b)/2;
    clama=cbaru;
    c=(fb*a-fa*b)/(fb-fa);
    cbaru=c;
    fc= subs(f,x,c);
    fprintf('%3.0f %6.4f %6.4f %12.10f %7.4f %7.4f %7.4f %7.4f \n', i, a, b, c, fa, fb, fc, e);
    if fa*fc < 0
    b=c; %geser kiri
    else
      a=c; %geser kanan
    end
    e=abs(b-a);  % menghitung error
    i=i+1;
end
akar = c;
fprintf('\n\nAkarnya adalah = %8.7f\n', akar);
fprintf('Jumlah Iterasi = %g\n', i);

 

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


contoh program matlab untuk metode bagi dua dan metode posisi palsu


http://www.ziddu.com/download/20091609/TugasMetnumRifqiAnnoraMulya0915031071.rar.html

Panenka kick :D


gambar dari seseorang :)