MATLAB Answers

# error in using the function fsolve to find steady state

32 views (last 30 days)
Sara Vasciaveo on 23 Feb 2021
Answered: Steven Lord on 23 Feb 2021
I am new to programming. I have a mini project on the Lokta- Volterra model. one of the point is to find the steady state of the model. I have used the fsolve function however i receive the error "'fsolve' requires optimisation toolbox" not sure what it mean. the code is as follow can some one help me seeing my mistake?
% Symbolic solution of the steady state equations
syms x1 x2 k1 k2 k3
[x1_ss, x2_ss] = solve(k1*x1 - k2*x1*x2==0, k2*x1*x2 - k3*x2==0 )
% numerical steady states
k1 = 1.1; k2 = 0.001; k3 = 10;
F = @(x) [k1*x(1) - k2*x(1)*x(2), k2*x(1)*x(2) - k3*x(2)];
XO =[15000, 1000];
F_ss = fsolve(F, XO)
thank you
##### 3 CommentsShowHide 2 older comments
Sara Vasciaveo on 23 Feb 2021
as it seems I have trouble downloading is there another way to achieve the same withouth the toolbox?

Sign in to comment.

### Answers (2)

Alan Stevens on 23 Feb 2021
Edited: Alan Stevens on 23 Feb 2021
Using the Optimization toolbox to solve these equations seems like using a sledgehammer to crack a nut!
It is clear from the equations that the non-trivial solution is x1 = k3/k2 and x2 = k1/k2.
(There is also the trivial solution x1 = x2 = 0).
##### 1 CommentShowHide None
Sara Vasciaveo on 23 Feb 2021
great thank yu so much !!

Sign in to comment.

Steven Lord on 23 Feb 2021
Don't try using a numeric solver like fsolve on a function that returns symbolic answers. Use the solve function from Symbolic Math Toolbox, which can operate on symbolic expressions, instead.
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!