fsolve help

6 visualizzazioni (ultimi 30 giorni)
Vasile Radu
Vasile Radu il 21 Feb 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

Risposta accettata

Sean de Wolski
Sean de Wolski il 21 Feb 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 Commenti
Walter Roberson
Walter Roberson il 21 Feb 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 il 21 Feb 2012
@Walter, good idea, that would make gradObj much easier to use.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by