Naloga:
Napišite program, ki poišče ničle funkcije z iterativno metodo. f(x)=0 preoblikujemo v enačbo x=g(x).
program iteracija implicit none real(8) :: x,f,g 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)).gt.1e-8) !1e-8 je natancnost na katero bomo dolocili nicle x=g(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=x-cos(x) end function f function g(x) implicit none real(8)::x,g ! tu napisemo funkcijo, ki ho dovibmo, ko enacbo f(x)=0 preoblikujemo v x=g(x) g=cos(x) end function g
Tekst sedaj shranimo kot datoteko iteracija.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.