Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Solving non linear equation system.

1 vue (au cours des 30 derniers jours)
Alberto Bolzoni
Alberto Bolzoni le 9 Avr 2015
Clôturé : MATLAB Answer Bot le 20 Août 2021
I'm trying to solve this system:
sin(x)+y-2=0
x-y+1=0
with this procedure:
M=@(x,y)[sin(x)+y-2;x-y+1];
x0=[1,0];
Sol=fsolve(M,x0);
but I obtain an error. Could you please help me? Thank you.

Réponses (1)

Michael Haderlein
Michael Haderlein le 9 Avr 2015
fsolve needs a function which has only one variable. Therefore, you need to change your definition to
M=@(x)[sin(x(1))+x(2)-2;x(1)-x(2)+1];
The rest of your code is fine.
  3 commentaires
Torsten
Torsten le 9 Avr 2015
There is no such function in MATLAB because if you had a model with 150 unknowns, the alphabet wouldn't suffice to represent your variables.
Best wishes
Torsten.
Michael Haderlein
Michael Haderlein le 9 Avr 2015
As Torsten said, there's no such function as far as I know. However, when I had the similar problem, I just typed in all the equations with the "natural" variable names in a blank file and then replaced the variable names by x(1), x(2) and so on (press ctrl+h). It's less likely to type in errors this way.

Cette question est clôturée.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by