urbic.com logotip

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.