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.

This question is closed.

Tags

Community Treasure Hunt

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

Start Hunting!