Info

This question is closed. Reopen it to edit or answer.

Solving non linear equation system.

1 view (last 30 days)
Alberto Bolzoni
Alberto Bolzoni on 9 Apr 2015
Closed: MATLAB Answer Bot on 20 Aug 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.

Answers (1)

Michael Haderlein
Michael Haderlein on 9 Apr 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 Comments
Torsten
Torsten on 9 Apr 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 on 9 Apr 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.

Tags

Community Treasure Hunt

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

Start Hunting!