Solving system of Nonlinear Equations

4 次查看(过去 30 天)
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.

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by