How to plot the solution?

clc
close all
syms L
e = exp(sym(1));
lags = 0;
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);
eqn = (a*L^3+b*L^2-c*L-d)-(h*L^2+f*L+g)*e^(-L*lags);
vpasolve(eqn)
ans = 

5 个评论

What do you want to plot ? At the moment, you only have three single numbers two of which are complex.
i want to plot L vs. lags
And what is the range of "lags" for which you want to determine L ?
clc
close all
lags = 0;
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);
L0 = -2.5;
L2 = fsolve(fun,L0);
plot((-2.5:0.1:-1),fun(-2.5:0.1:-1))
% look at the above code it is same as the given code it can plot the solution
% I need the same plot for my given code

请先登录,再进行评论。

 采纳的回答

syms L lags
e = exp(sym(1));
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);
eqn = (a*L^3+b*L^2-c*L-d)-(h*L^2+f*L+g)*e^(-L*lags);
lags_num = 0.01:0.01:0.18;
for i=1:numel(lags_num)
L_num(i) = double(vpasolve(subs(eqn,lags,lags_num(i))));
end
plot(lags_num,L_num)

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Plot Customization 的更多信息

产品

版本

R2022a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by