program newton_r
implicit none
real::xo,tol,E,x,df,f
integer::max,I
f(xo)=xo**2+10*xo-1
df(xo)=2*xo+10
write(*,*)'dame el valor de xo,tol,max'
read(*,*)xo
read(*,*)tol
read(*,*)max
write(*,18)"Ite","xo","x","error"
do I=1,max,1
x=xo-(f(xo)/df(xo))
write(*,19)I,xo,x,abs(x-xo)
if(abs(x-xo)<=tol)then
write(*,20)"x=",x
stop
else
xo=x
end if
end do
write(*,21)'No converge'
20 format(3/,tr10,a2,f10.3,3/)
21 format(a11)
19 format(I, 3e11.4)
18 format(4/,t11,a3,tr5,a2,tr9,a,tr9,a5,2/)
end program
jueves, 11 de noviembre de 2010
Suscribirse a:
Entradas (Atom)