# 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 )
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
Sara Vasciaveo on 23 Feb 2021
as it seems I have trouble downloading is there another way to achieve the same withouth the toolbox?

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).
Sara Vasciaveo on 23 Feb 2021
great thank yu so much !!

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.