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

1 view (last 30 days)
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,'*');

Answers (1)

Dyuman Joshi
Dyuman Joshi on 19 Jan 2024
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 Comments
Dyuman Joshi
Dyuman Joshi on 19 Jan 2024
Edited: Dyuman Joshi on 19 Jan 2024
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.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!