Code for Delay differential analytical Solution. Its showing error. Please correct it. Kindly do the Needful.
Show older comments
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
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
on 19 Jan 2024
You need to define t and correct the mistake I have pointed above in my answer.
Torsten
on 19 Jan 2024
Works (see above).
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.
Torsten
on 19 Jan 2024
Small things are done immediately, miracles take a little longer... :-)
Categories
Find more on Creating and Concatenating Matrices 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!