Info
This question is closed. Reopen it to edit or answer.
Solving non linear equation system.
1 view (last 30 days)
Show older comments
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.
0 Comments
Answers (1)
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
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
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.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!