NEWTON - RAPHSON

non linear system

by Reinaldo Baretti Machín
reibaretti2004@yahoo.com
URL http://www.oocities.org/reibaretti2004

c newton -raphson two or more variables //
      g1(x1,x2,x3)= 6.*x1-2.*cos(x2*x3)-1.
      g2(x1,x2,x3)=9.*x2+sqrt(x1**2+sin(x3)+1.06)+0.9
      g3(x1,x2,x3)=60.*x3+3.*exp(-x1*x2)+10.*pi-3.
      g1prim(x1,x2,x3)=(g1(x1+epsi,x2,x3)-g1(x1,x2,x3))/epsi
      g2prim(x1,x2,x3)=(g2(x1,x2+epsi,x3)-g2(x1,x2,x3))/epsi
      g3prim(x1,x2,x3)=(g3(x1,x2,x3+epsi)-g3(x1,x2,x3))/epsi
      pi=2.*asin(1.)
      x1=1./6.
      x2=-.9/9.
      x3=(3.-10.*pi)/60.
      n1=2
      ntotal=20
      epsi=1.e-4
      do 10 i=1,ntotal
      do 20 j=1,n1
      x1=x1-g1(x1,x2,x3)/g1prim(x1,x2,x3)
20    continue
      do 30 k=1,n1
      x2=x2-g2(x1,x2,x3)/g2prim(x1,x2,x3)
30    continue
      do 40 k3=1,n1
      x3=x3-g3(x1,x2,x3)/g3prim(x1,x2,x3)
40    continue
      write(6,100)i,x1,x2,x3
      write(6,110)g1(x1,x2,x3),g2(x1,x2,x3),g3(x1,x2,x3)
      print*,'  '
10    continue
100   format(2x,'i,x1,x2,x3=',2x,i3,3x,e11.4,3x,e11.4,3x,e11.4)
110   format(2x,'g1,g2,g3=',2x,e11.4,2x,e11.4,2x,e11.4)
      stop
      end
      
       i,x1,x2,x3=    1    0.4996E+00   -0.2027E+00   -0.5289E+00
 g1,g2,g3=   0.9236E-02  -0.2664E-01  -0.1431E-05

 i,x1,x2,x3=    2    0.4981E+00   -0.1996E+00   -0.5288E+00
 g1,g2,g3=  -0.3476E-03   0.4894E-04   0.3576E-06

 i,x1,x2,x3=    3    0.4981E+00   -0.1996E+00   -0.5288E+00
 g1,g2,g3=   0.1073E-05  -0.4768E-06   0.0000E+00

 i,x1,x2,x3=    4    0.4981E+00   -0.1996E+00   -0.5288E+00
 g1,g2,g3=  -0.1192E-06   0.0000E+00  -0.3576E-06

 i,x1,x2,x3=    5    0.4981E+00   -0.1996E+00   -0.5288E+00
 g1,g2,g3=  -0.1192E-06   0.0000E+00  -0.3576E-06

 i,x1,x2,x3=    6    0.4981E+00   -0.1996E+00   -0.5288E+00
 g1,g2,g3=  -0.1192E-06   0.0000E+00  -0.3576E-06