Unable to resolve error using dde23
Ältere Kommentare anzeigen
I am trying to solve a syste of delay differential equations, but the error: Derivative and history vectors have different lengths keeps occuring. I have taken notes from other similar questions and made sure that ylag and output of derivatives have the same length and made sure that my constants are not global. However, the error is not resolved.
For reference, this is my system:

Here is my code
lags=[2,2,2,2,2,2,2,2];
tspan=linspace(0,50);
sol=dde23(@deriv,lags,@history,tspan);
%-----------------------------------------
function dydt=deriv(~,y,z)
ylag1=z(:,1);
ylag2=z(:,2);
ylag3=z(:,3);
ylag4=z(:,4);
ylag5=z(:,5);
ylag6=z(:,6);
ylag7=z(:,7);
ylag8=z(:,8);
n1=30290000;
a1=0.98*n1;
m=0.00055;
eps=1/5;
b1=0.000024246;
chi=0.071;
B1=0.5;
eta=0.5;
k1=0.185;
phi1=0.26;
alpha1=0.1155;
delta=0.0225;
omega1=0.26;
dydt=[b1-((y(1)*B1*(y(3)+y(4)+(eta*y(6))))/a1)-b1*y(1)-m*ylag1;
((y(1)*B1*(y(3)+y(4)+(eta*y(6))))/a1)-(k1+eps)*y(2)-m*ylag2;
k1*eps*y(2)-(alpha1+chi)*y(3)-m*ylag3;
(1-k1)*eps*y(2)-(phi1+omega1)*y(4)-m*ylag4;
k1*y(2)+alpha1*y(3)-chi*y(5);
(phi1+omega1)*y(4)-(chi+delta)*y(6);
ch*(y(5)+y(6))-b1*y(7)-m*ylag7;
delta*y(5)];
end
%-------------------------------------
function s=history(~)
a1=0.98*30290000;
s=[(a1-13),0,5,7,0,1,0,0];
end
%-------------------------------------
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Dynamic System Models finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!