where is the fault the code is not running?

3 views (last 30 days)
clc
close all
lags = 0.6;
k1 = 3;
k_1 = 1;
k2 = 2.5;
k3 = 1;
k_3 = 1;
k4 = 2;
k5 = 1;
E1 = 1;
E2 = 2;
K1 = (k_1+k2)/k1;
K2 = (k_3+k4)/k3;
a = -(k5*E1)^2;
b = -k3*E2-(k5*E1)^(2)*(k_1+k_3+k2+k4+k1*E1);
c = k3*E2*(k_1+k2+k4+k1*E1)+(k5*E1)^(2)*(k1*k2*E1+(k_3+k4)*(k_1+k2+k1*E1));
d = k3*E2*k4*(k_1+k2)+k1*k3*E1*E2*(k2+k4)+k1*k2*k5^2*E1^3*(k_3+k4);
h = k5*E1;
f = k5*E1*(k_1+k_3+k2+k4+k3*E2);
g = k5*E1*(k_1+k2)*(k_3+k2+k3*E2);
fun = @(L) (a*L^3+b*L^2-c*L-d)-(h*L^2+f*L+g)*e^(-L*lags);
L0 = -1.5;
L1 = fsolve(fun,L0);
L0 = -2.5;
L2 = fsolve(fun,L0);
plot((-2.5:0.1:-1),fun(-2.5:0.1:-1))

Accepted Answer

Kevin Holly
Kevin Holly on 5 Aug 2022
clc
close all
lags = 0.6;
k1 = 3;
k_1 = 1;
k2 = 2.5;
k3 = 1;
k_3 = 1;
k4 = 2;
k5 = 1;
E1 = 1;
E2 = 2;
K1 = (k_1+k2)/k1;
K2 = (k_3+k4)/k3;
a = -(k5*E1)^2;
b = -k3*E2-(k5*E1)^(2)*(k_1+k_3+k2+k4+k1*E1);
c = k3*E2*(k_1+k2+k4+k1*E1)+(k5*E1)^(2)*(k1*k2*E1+(k_3+k4)*(k_1+k2+k1*E1));
d = k3*E2*k4*(k_1+k2)+k1*k3*E1*E2*(k2+k4)+k1*k2*k5^2*E1^3*(k_3+k4);
h = k5*E1;
f = k5*E1*(k_1+k_3+k2+k4+k3*E2);
g = k5*E1*(k_1+k2)*(k_3+k2+k3*E2);
fun = @(L) (a*L.^3+b*L.^2-c*L-d)-(h*L.^2+f*L+g).*exp(-L*lags);% replaced e^ with exp, changed ^2 with .^2, and * to .*
L0 = -1.5;
L1 = fsolve(fun,L0);
No solution found. fsolve stopped because the last step was ineffective. However, the vector of function values is not near zero, as measured by the value of the function tolerance.
L0 = -2.5;
L2 = fsolve(fun,L0);
No solution found. fsolve stopped because the last step was ineffective. However, the vector of function values is not near zero, as measured by the value of the function tolerance.
plot((-2.5:0.1:-1),fun(-2.5:0.1:-1))

More Answers (0)

Tags

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by