Iterativna metoda iskanja ničel

 

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 numerične metode za kemike.

 

Fakulteta za kemijo in kemijsko tehnologijo

Katedra za fizikalno kemijo

Univerza v Ljubljani

Večna pot 113, K3.009

1000 Ljubljana

Slovenija

tel: +386 1 479 8540

e-pošta: tomaz pika urbic at fkkt.uni-lj.si

Govorilne ure so po dogovoru.

Prešernove nagrade