urbic.com logotip

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.