Selasa, 17 April 2012

Contoh Metode Bisection dengan Fortran

Selamat menikmati....

!Metode bisection
real :: a;
a=-1;
x=35;
g=9.81
Vo=20;
yo=2;
pi=acos(a);

print*,'Masukkan tebakan 1 '; read*,Te1
print*,'Masukkan tebakan 2 '; read*,Te2
Te1=Te1/180*pi;
Te2=Te2/180*pi;
Te3=Te1;

z1=tan(Te1)*x-g*x**2/(2*Vo**2*cos(Te1)**2)+yo-1;
z2=tan(Te2)*x-g*x**2/(2*Vo**2*cos(Te2)**2)+yo-1;

if (z1<0) then
    Te1=Te1;
else
    Te1=Te2
    Te2=Te3;
endif

i=0
if (z1*z2<0) then
    do i=1,100
    y=(Te1+Te2)/2
    if ((tan(y)*x)-(g*x**2/(2*Vo**2*cos(y)**2))+yo-1<0) then
      Te1=y
    else
      Te2=y
    endif
    Hasil= y*180/pi
    Print*,'Hasilnya adalah',Hasil
    enddo
else
  print*,'akar tidak diapit';
endif
end

Ada komentar, kritik, saran, atau request?