How to solve N nonlinear equations using fsolve?
4 views (last 30 days)
Show older comments
Berk Özdemir
on 3 May 2020
Commented: Walter Roberson
on 4 May 2020
I'm trying to solve a system on N nonlinear equations. For
, for example, I can simply input 5 equations by hand that has 5 variables in total. Here's an example just to show what I use;

%%%%% Example %%%%%
f=@(x) [x(1)^2-x(2);
x(2)^2-x(3);
x(3)^2-x(4);
x(4)^2-x(5);
x(5)^2-x(1)];
X=ones(1,N-3);
S=fsolve(f,X);
%%%%% Example %%%%%
What I really want to do is to solve N nonlinear equations that has N variables in total. In this case there are 2 issues I need to solve.
1-) How can I input N variables?
2-) How can I input N functions?
Is there any loop I can use?
Thanks in advance.
1 Comment
Walter Roberson
on 3 May 2020
do you have the symbolic toolbox? if so then create a vector of equations and matlabFunction that
Accepted Answer
Walter Roberson
on 3 May 2020
If you do not have the symbolic toolbox, you will need to enter the equations as text. strjoin() the equations with ';' and put '@(x)[' ']' around that, and str2func() to create the function handle.
More Answers (0)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!