matlab用dde23求时滞微分方程组,一直运行不出结果,大家一起看一下

一直运行,不出结果

代码如下

function sol = test1

sol = dde23(@test1f,[1.4,0.1],[1e4,0,1e-6],[0, 60]);
figure
plot(sol.x,sol.y)
title('HIV传染测试.')
xlabel('时间 t');
ylabel('y(t)');

%

function yp=test1f(t,y,Z)
s = 10;
d = 0.01;
k = 10;
l = 20;
sita = 0.53;
N = 6167;
c = 3;
k3 = 0;
k4 = 0;
ylag1 = Z(:,1);
ylag2 = Z(:,2);
yp = [s-dy(1)-ky(3)y(1)-ly(1)y(2);
k
ylag1(3)ylag1(1)+lylag1(2)ylag1(1);
N
sitaylag2(2)-cy(3)-k3*y(3)y(1)-k4y(3)*y(2)];

原函数

img

img


这里面的算式需要用乘积格式吧,比如k*y(3)*y(1)而不是ky(3)y(1)