Solving non linear equation system.

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.

답변 (1개)

Michael Haderlein
Michael Haderlein 2015년 4월 9일

0 개 추천

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

Alberto Bolzoni
Alberto Bolzoni 2015년 4월 9일
Could you please suggest me another function that can be used and accepts more than one variable? Because actually I have to solve also systems with 15 variables and this method may be somehow difficult to be implemented.
Torsten
Torsten 2015년 4월 9일
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 2015년 4월 9일
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.

이 질문은 마감되었습니다.

태그

질문:

2015년 4월 9일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by