24 lines
428 B
FortranFixed
24 lines
428 B
FortranFixed
program testnewton
|
|
implicit none
|
|
integer i
|
|
double precision x,f0,f1,func,recider
|
|
x=-1.5d0
|
|
do i=1,200
|
|
f0=func(x)
|
|
write(*,*)i,x,f0
|
|
pause
|
|
|
|
f1=func(x+f0)
|
|
recider=f0/(f1-f0)
|
|
x=x-recider*f0
|
|
enddo
|
|
|
|
end
|
|
|
|
double precision function func(x)
|
|
double precision x
|
|
func=x-(x*x+1.0d0)/2.0d0
|
|
!x^2-2*x+1=0
|
|
return
|
|
end
|