fsolve help

8 vues (au cours des 30 derniers jours)
Vasile Radu
Vasile Radu le 21 Fév 2012
I would like to use fsolve for two nonlinear equations. When I put explicit equations in a function (LBBnlenew2.m) it is ok. But I need to put each equation as a funtion itself (defined already, with the same variables). In this case the error is:
??? Undefined function or method 'norm' for input arguments of type 'sym'.
Error in ==> trustnleqn at 138 normgradinf = norm(grad,inf);
Error in ==> fsolve at 295 [x,FVAL,JACOB,EXITFLAG,OUTPUT,msg]=...
Error in ==> LBB_Instability_Load_M2_solver2 at 2 x=fsolve('LBBnlenew2',x0);
Please let me know how to avoid the error. Thanks Vasile

Réponse acceptée

Sean de Wolski
Sean de Wolski le 21 Fév 2012
class(grad)
class(inf)
If either of those are symbolic, you cannot use fsolve() since it's a numeric solver. Look into solve() instead.
  2 commentaires
Walter Roberson
Walter Roberson le 21 Fév 2012
It might be practical in your situation to use matlabFunction() to convert the symbolic function in to a function handle of a MATLAB function.
Sean de Wolski
Sean de Wolski le 21 Fév 2012
@Walter, good idea, that would make gradObj much easier to use.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by