Solving system of Nonlinear Equations

4 Ansichten (letzte 30 Tage)
Saumil
Saumil am 22 Jul. 2011
Hi,
I might be missing something here: I am making use of the symbolic toolbox to solve the following system of equations. I have 3 equations of this kind:
f1 = Vs1 - Dpt2.*Z - V1;
f2 = Vs2 - Dpt5.*Z - V2;
f3 = Vs3 - Dpt7.*Z - V3;
Z, Vs1, Vs2 and Vs3 are simply integers/fractions
V1, V2, V3 are unknown and sym variables.
Dpt2, Dpt5 and Dpt7 are each functions of V1, V2 and V3. They are of the type: Sum terms of
((besselj(1,V1)).^2) .* ((besselj(0,V2)).^2) .* ((besselj(1,V3)).^2) + ........4 similar terms
and so on.
MATLAB solve() is not able to solve the equation. I have tried using Newton's method roughly by calculating the f1, f2 and f3 at some points and finding the change of f1, f2 and f3 w.r.t. V1, V2 and V3, but the inverse of the jacobian always goes to infinity.
Is there any another method to solve such equations?
Thanks a lot. I would appreciate any input. I can put the actual equations if required. I didn't put them yet because they are too long.

Akzeptierte Antwort

Yi Cao
Yi Cao am 22 Jul. 2011
You can try fsolve.
  1 Kommentar
Saumil
Saumil am 22 Jul. 2011
Thanks! It was tricky to use fsolve for symbolic equations, using subs(), but it seems to have done the trick. Thanks a lot!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by