S=11081000;
E=600.0110;
I=409.9978;
A=30.0278;
Sq=739;
Eq=20;
H=41;
R=2;
c=13.0046;
p=2.0389e-9;
q=1.8877e-7;
a=0.2;
b=0.07143;
d=0.6834;
e=0.1328;
f=0.1259;
g=0.1029;
h=0.2978;
i=0.1024;
j=0.0009;
k=1.6003;
l=1.5008;
T=1:140;
for idx =1:length(T)-1
S(idx+1)=S(idx)-(p*c+c*q(1-p))*S(idx)*(I(idx)+k*A(idx)+l*E(idx))+b*Sq(idx);
E(idx+1) = E(idx) +p*c*(1-q)*S(idx)*(I(idx)+k*A(idx)+l*E(idx))-a*E(idx);
I(idx+1) = I(idx) +a*d*E(idx)-(e+j+g)*I(idx);
A(idx+1) = A(idx) + a*(1-d)*E(idx)-h*A(idx);
Sq(idx+1) = Sq(idx)+ (1-p)*c*q*S(idx)*(I(idx)+k*A(idx)+l*E(idx))-b*Sq(idx);
Eq(idx+1) = Eq(idx)+ p*c*q*S(idx)*(I(idx)+k*A(idx)+l*E(idx))-f*Eq(idx);
H(idx+1) = H(idx) + e*I(idx)+f*Eq(idx)-(j+i)*H(idx);
R(idx+1) = R(idx) + g*I(idx)+h*A(idx)+i*H(idx);
end
plot(T,S,T,E,T,I,T,A,T,Sq,T,Eq,T,H,T,R);
grid on;
xlabel('天');
ylabel('人数');
报错:
数组索引必须为正整数或逻辑值。
出错 fangcang (line 27)
S(idx+1)=S(idx)-(p*c+c*q(1-p))*S(idx)*(I(idx)+k*A(idx)+l*E(idx))+b*Sq(idx);
求大佬帮帮孩子吧,5555555
你的数组索引在某些时刻小于或等于0了,所以会报错,你可以依次输出查看是再第几次产生的错误
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632