(48) Complex Roots Of Multiple NonLinear Equations (NewtonRaphson Method)

03132018, 02:47 PM
(This post was last modified: 03142018 10:20 PM by gerry_in_polo.)
Post: #1




(48) Complex Roots Of Multiple NonLinear Equations (NewtonRaphson Method)
Complex Roots of Multiple NonLinear Equations Via NewtonRaphson Method, HP48
Gerardo V. Lozada, M.S., P.E.E., May 12, 2015 Computes the real and complex roots of a system of simultaneous nonlinear equations using the NewtonRaphson Method utilizing the forward difference method to approximate the Jacobian matrix. Input parameters on the stack: MQ  A list containing the simultaneous nonlinear equations, each enclosed in single quotes ' ', the number n of variables should equal the number of equations. Variables are denoted as X(1), X(2), X(3) ...... X(n). X0  Array containing the initial estimate of the roots, may be real or complex. Example: Find the roots of the three simultaneous equations X1^2  2*X1*X2 + X2^2  ln(X3) = 16, X1^2  X2^2 + 20*sin(X3) = 9 and X1^3 + X2^2 + X3^2 = 27 using initial estimates of X1=1j7, X2=2+j10 and X3=4j11. Enter {'X(1)^22*X(1)*X(2)+X(2)^2LN(X3)16' 'X(1)^2X(2)^2+20*SIN(X)9' 'X(1)^3+X(2)^2+X(1)^2+27'} and [(1,7) (2,10) (4,11)] on the stack and then run the program NR. The resulting complex roots are: X = [(1.1215, 4.0809) (5.313, 3.7512) (3.9988, 1.588) ] converged in 15 iterations. Final estimate error is 4.5802e7. Other root combinations may be found depending on the initial root estimates used. Program NR << > MQ X0 << 1e6 'TL' STO MQ SIZE 'N' STO X0 'X' STO IF X0 TYPE 4 == THEN (0.01,0.01) 'D' STO ELSE 0.01 'D' STO END 0 'ITER' STO DO 0 'YM' STO 1 N FOR I MQ I GET >NUM NEXT N >ARRY 'Y' STO 1 N FOR I Y I GET ABS 'YI' STO IF YI YM > THEN YI 'YM' STO END NEXT IF YM TL >= THEN 1 N FOR I 1 N FOR J X J GET D + X J 3 ROLL PUT 'X' STO MQ I GET >NUM Y I GET  D / X J GET D  X J 3 ROLL PUT 'X' STO NEXT N >ARRY NEXT N ROW> 'JAC' STO Y JAC / 'DX' STO X DX  'X' STO END ITER 1+ 'ITER' STO UNTIL YM TL < END MQ X "X" >TAG ITER "ITER" >TAG YM "YM" >TAG >> >> 

03132018, 03:01 PM
Post: #2




RE: (48) Complex Roots Of Multiple NonLinear Equations (NewtonRaphson Method)
Request. Could you put the code within "code" tags? It gets more readable.
Code tags are the following: <code></code> substituting '<' with '[' and '>' with ']' Wikis are great, Contribute :) 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)