Naloga:
Napišite program, ki poišče ničle funkcije z NEwtonovo metodo. f(x)=0exp(2*x)-x-6, odvod je f'(x)=2*exp(2*x)-1.
program iteracija implicit none real(8) :: x,f,df integer :: i write(*,*) 'vnesi zacetni pribliezek, x0=?' read(*,*)x i=0 !stevilo korakov iteracije write(*,'(i4,2f15.10)')i,x,f(x) do while (abs(f(x))>1e-8) !1e-8 je natancnost na katero bomo dolocili nicle x=x-f(x)/df(x) i=i+1 write(*,'(i4,2f15.10)')i,x,f(x) enddo write(*,*)'nicla je x=',x end program iteracija function f(x) implicit none real(8)::x,f ! tu napisemo funkcijo, katere niclo hocemo poiskati f=exp(2*x)-x-6 end function f function df(x) implicit none real(8)::x,df ! tu napisemo odvod f'(x) funkcije f(x) df=2*exp(2*x)-1 end function df
Tekst sedaj shranimo kot datoteko newton.f90 in prevedemo.
Tu je sedaj še print screen postopka prevajanja. V kolikor vam kakšna podrobnost ni jasna, mi sporočite.
Nazaj na osnovno stran za predmet Uporaba numeričnih metod v kemiji.