- #1
moebot
- 5
- 2
this is bairstow's method , i need to put Newton-raphson in a subroutine and i don't know what's wrong i keep getting the wrong answer when i execute please help
thanks in advance :)
Code:
parameter (np=100)
parameter (eps=1e-3)
real a(np) ,b(np),c(np)
real r ,s ,ri,si
integer n,i
write(*,*)'n,r,s'
read(*,*)n,r,s
do i=n+1,1,-1
write(*,*)'a(i)'
read(*,*) a(i)
end do
10 ri=r
si=s
b(n+1)=a(n+1)
b(n)=a(n)+r*b(n+1)
do i=n-1,1,-1
b(i)=a(i)+r*b(i+1)+s*b(i+2)
end do
c(n+1)=b(n+1)
c(n)=b(n)+r*c(n+1)
do i=n-1,1,-1
c(i)=b(i)+r*c(i+1)+s*c(i+2)
end do
do i=n+1,1,-1
write(*,*) i,a(i),b(i),c(i)
end do
write(*,*)
d=c(3)*c(3)-c(2)*c(4)
r=r-(1./d)*(c(3)*b(2)-c(4)*b(1))
s=s-(1./d)*(-c(2)*b(2)+c(3)*b(1)) if(sqrt(ri**2-r**2).ge.eps.or.sqrt(si**2-s**2).ge.eps) goto 10
write(*,*) r,s
end
thanks in advance :)
Last edited by a moderator: