where is the fault the code is not running?

1 次查看(过去 30 天)
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))

采纳的回答

Kevin Holly
Kevin Holly 2022-8-5
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))

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Type Identification 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by