Code for Delay differential analytical Solution. Its showing error. Please correct it. Kindly do the Needful.

1 次查看(过去 30 天)
t=linspace(0,120,10);
%Xo = [0.005;0.0007;2];
a=0.0002; p=0.0001; s=0.006; r=0.0005; k=0.0138; q=0.2; tau=0.1; b=1;
l=0.005; m=0.0007; n=2;
x2 = b.*p - exp(-p.*t).*b.*p+ a.*l.*n.*exp(r.*t - r.*tau - s.*t + s.*tau)./(p + r - s) + p^2.*exp(-p.*t).*b.*t - b.*p + exp(-p.*t).*(-a.*l.*n.*exp(-r.*tau + s.*tau)./(p + r - s) + b.*p)+(1./(p+r-s).*(-s+p).*p.*s.*k((p + r - s).*(p.*s.*k.*(b.*p.^2.*(-s + p).*(-p.*t.^2./2 + exp(p.*t)./p) - a.*l.*m.*q.*exp((p - r).*tau + r.*t)./r) + k.*a.^2.*l.*n.^2.*p.*(-s + p).*exp((p + r - 2.*s).*t + 2.*s.*tau)./(p + r - 2.*s) + a.*l.*m.*n.*r.*s.*(-s + p).*exp((p + s).*tau + t.*(r - s))./(r - s) - ((k.*a.*n - l.*s).*p + m.*r.*s).*l.*(-s + p).*n.*a.*exp((p + r - s).*t + s.*tau)./(p + r - s) - a.*l.^2.*n.*p.*s.*(-s + p).*exp((p + 2.*r - s).*t + s.*tau)./(p + 2.*r - s)) + t.*b.*k.*p.^3.*r.*s.^2 + k.*s.*(-n.*p.^2 + (q.*m + n.*s).*p + m.*q.*(r - s)).*p.*l.*a.*exp((p + r - s).*t - tau.*(r - s))./(p + r - s) + t.*p.^3.*exp(-tau.*(r - s)).*a.*l.*n.*s.*k - t.*b.*k.*p.^3.*s.^3 + 2.*t.*b.*k.*p.^4.*s.^2 - t.*b.*k.*p.^5.*s - t.*b.*k.*p.^4.*r.*s - t.*p.^2.*s.^2.*exp(-tau.*(r - s)).*a.*l.*n.*k)-1./((p + r - s).*(-s + p).*p.*s.*k).*((p + r - s).*(p.*s.*k.*(b.*p.*(-s + p) - a.*l.*m.*q.*exp((p - r).*tau)./r) + k.*a.^2.*l.*n.^2.*p.*(-s + p).*exp(2.*s.*tau)./(p + r - 2.*s) + a.*l.*m.*n.*r.*s.*(-s + p).*exp((p + s).*tau)./(r - s) - ((k.*a.*n - l.*s).*p + m.*r.*s).*l.*(-s + p).*n.*a.*exp(s.*tau)./(p + r - s) - a.*l.^2.*n.*p.*s.*(-s + p).*exp(s.*tau)./(p + 2.*r - s)) + k.*s.*(-n.*p.^2 + (q.*m + n.*s).*p + m.*q.*(r - s)).*p.*l.*a.*exp(-tau.*(r - s))./(p + r - s))).*exp(-p.*t);
plot(t,x2,'*');

回答(1 个)

Dyuman Joshi
Dyuman Joshi 2024-1-19
There is missing operator between k and the left parenthesis as shown below -
Fix it and the code will work.
t=linspace(0,120,10);
%Xo = [0.005;0.0007;2];
a=0.0002; p=0.0001; s=0.006; r=0.0005; k=0.0138; q=0.2; tau=0.1; b=1;
l=0.005; m=0.0007; n=2;
x2 = b.*p - exp(-p.*t).*b.*p+ a.*l.*n.*exp(r.*t - r.*tau - s.*t + s.*tau)./(p + r - s) + p^2.*exp(-p.*t).*b.*t - b.*p + exp(-p.*t).*(-a.*l.*n.*exp(-r.*tau + s.*tau)./(p + r - s) + b.*p) ...
% vv
+ (1./(p+r-s).*(-s+p).*p.*s.*k((p + r - s).*(p.*s.*k.*(b.*p.^2.*(-s + p).*(-p.*t.^2./2 + exp(p.*t)./p) - a.*l.*m.*q.*exp((p - r).*tau + r.*t)./r) + k.*a.^2.*l.*n.^2.*p.*(-s + p).*exp((p + r - 2.*s).*t + 2.*s.*tau)./(p + r - 2.*s) + a.*l.*m.*n.*r.*s.*(-s + p).*exp((p + s).*tau + t.*(r - s))./(r - s) - ((k.*a.*n - l.*s).*p + m.*r.*s).*l.*(-s + p).*n.*a.*exp((p + r - s).*t + s.*tau)./(p + r - s) - a.*l.^2.*n.*p.*s.*(-s + p).*exp((p + 2.*r - s).*t + s.*tau)./(p + 2.*r - s)) + t.*b.*k.*p.^3.*r.*s.^2 + k.*s.*(-n.*p.^2 + (q.*m + n.*s).*p + m.*q.*(r - s)).*p.*l.*a.*exp((p + r - s).*t - tau.*(r - s))./(p + r - s) + t.*p.^3.*exp(-tau.*(r - s)).*a.*l.*n.*s.*k - t.*b.*k.*p.^3.*s.^3 + 2.*t.*b.*k.*p.^4.*s.^2 - t.*b.*k.*p.^5.*s - t.*b.*k.*p.^4.*r.*s - t.*p.^2.*s.^2.*exp(-tau.*(r - s)).*a.*l.*n.*k)-1./((p + r - s).*(-s + p).*p.*s.*k).*((p + r - s).*(p.*s.*k.*(b.*p.*(-s + p) - a.*l.*m.*q.*exp((p - r).*tau)./r) + k.*a.^2.*l.*n.^2.*p.*(-s + p).*exp(2.*s.*tau)./(p + r - 2.*s) + a.*l.*m.*n.*r.*s.*(-s + p).*exp((p + s).*tau)./(r - s) - ((k.*a.*n - l.*s).*p + m.*r.*s).*l.*(-s + p).*n.*a.*exp(s.*tau)./(p + r - s) - a.*l.^2.*n.*p.*s.*(-s + p).*exp(s.*tau)./(p + 2.*r - s)) + k.*s.*(-n.*p.^2 + (q.*m + n.*s).*p + m.*q.*(r - s)).*p.*l.*a.*exp(-tau.*(r - s))./(p + r - s))).*exp(-p.*t);
plot(t,x2,'*');
  5 个评论
Dyuman Joshi
Dyuman Joshi 2024-1-19
编辑:Dyuman Joshi 2024-1-19
Hmmm, when I made my comment, the mistake was not corrected. The code seems to be working now, with the element-wise multiplication being used as the missing operation.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by