Broyden's method [message #40164] |
Fri, 16 July 2004 11:45 |
schaa
Messages: 10 Registered: March 2004
|
Junior Member |
|
|
Hi all,
I have this set of nonlinear equations, which I try to solve with the
Broyden function, which does give me a solution.
Unfortunately, depending on the initial guess, the solution varies a
lot.
So, does someone has a clue? for example to give the best initial
guess one could possibly make, or the use of another function ...?
Thanks in advance!
-Ralf
My approach:
;==========================================================
PRO go_broyden
common param, V_T, V_R, P_T, P_R, psi_T, psi_R, Fdop
;Provide an initial guess as the algorithm's starting point:
X = [0.1, 0.1, 2.0]
;Compute the solution:
result_broyden = BROYDEN(X, 'bending',CHECK=check,/DOUBLE)
END
;==========================================================
FUNCTION bending, X
common param, V_T, V_R, P_T, P_R, psi_T, psi_R, Fdop
return,[V_T*cos(X[0]) - V_R*cos(X[1]) -Fdop , $
P_T*sin(X[0] - psi_T) + X[2] , $
P_R*sin(X[1] - psi_R) + X[2] ]
END
;-----------------------------------------------------------
these are the parameters:
V_T = 49.833666
V_R = 49.837507
P_T = 3.7233149e+008
P_R = 5406.0310
PSI_T = 1.4213396
PSI_R = 2.0724097
FDOP = 363893.42
this is what i get:
BROYDEN:
guess: X = [0.1, 0.1, 2.0]
solution:
X[0] = 0.13057402
X[1] = 355.01434
X[2] = 5988.0183
BROYDEN:
guess: X = [0, 0, 20]
solution:
X[0] = 0.032354482
X[1] = -30.486023
X[2] = 20.179070
|
|
|