Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

Program Golden_Section

Implicit none
Real*8 a,b,rK,h,ck,dk,Ca,Cb,Cc,Cd,k,tol,tau1,tau2,ef1,ef2,ef3,ef4 Integer i,n
write(*,*) 'Este programa fué elaborado por: Gamiño Cabello, Aguilera Navarro y
Sánchez Palacios'
write(*,*) "Golden Section Method"
write(*,*) "Introduce Parameters (a,b), and n value,ef(Efficiency 1,2) aswell
Tolerance" Read(*,*)a
Read(*,*)b Read(*,*)n Read(*,*)ef1 Read(*,*)ef2 Read(*,*)tol
tau1=((5.d0**(1.d0/2.d0))-1.d0)/2.d0 tau2=tau1**2.d0
h=b-a ck=a+tau2*h dk=a+tau1*h
ef3=(((74.676424769039542)-((0.085305415156094)*(ck)))+
((0.001551436347674)*(ck**2))- ((7.61320E-6)*(ck**3))+((9.60487E-9)*(ck**4)))
ef4=(((74.676424769039542)-((0.085305415156094)*(dk)))+
((0.001551436347674)*(dk**2))- ((7.61320E-6)*(dk**3))+((9.60487E-9)*(dk**4)))
Ca=(((485.6)/(ef1))+((933.33)/(a))+((2.67E-3)*(a)))
Cb=(((485.6)/(ef2))+((933.33)/(b))+((2.67E-3)*(b)))
Cc=(((485.6)/(ef3))+((933.33)/(ck))+((2.67E-3)*(ck)))
Cd=(((485.6)/(ef4))+((933.33)/(dk))+((2.67E-3)*(dk)))
i=0.d0
5 i=i+1
if(i.LE.n)then if(Cc.LT.Cd)then
b=dk dk=ck
Cd=Cc h=b-a
ck=a+tau2*h
ef3=(((74.676424769039542)-((0.085305415156094)*(ck)))+
((0.001551436347674)*(ck**2))- ((7.61320E-6)*(ck**3))+((9.60487E-9)*(ck**4)))
Cc=(((485.6)/(ef3))+((933.33)/(ck))+((2.67E-3)*(ck)))
write(*,*)'iteration:',i write(*,*)'b,dk,Cc,Cd,h',b,dk,Cc,Cd,h
if(abs(h).LE.tol)then write(*,*)'minumum value is in i=',i
write(*,*)'ck,Cc,h',ck,Cc,h
go to 10 else
go to 5 end if
else if(Cc.GT.Cd) then a=ck
ck=dk Cc=Cd h=b-a
dk=a+tau1*h
ef4=(((74.676424769039542)-((0.085305415156094)*(dk)))+
((0.001551436347674)*(dk**2))- ((7.61320E-6)*(dk**3))+((9.60487E-9)*(dk**4)))
Cd=(((485.6)/(ef4))+((933.33)/(dk))+((2.67E-3)*(dk)))
write(*,*)'iteration:',i write(*,*)'a,ck,dk,Cc,Cd,h',a,ck,dk,Cc,Cd,h
if(abs(h).LE.tol)then
write(*,*)'minumum value is in i=',i go to 10
else go to 5 end if end if else
write(*,*)'Doesnt Converge' end if
10 end

You might also like