我有一个这种形式的ODE系统;
Yi=2*Yi*(Y(i-1)-Y(i+1))-Yi; i=1,2,...n-1;
请注意我,i-1和i + 2与Y不是索引;但是下标因为我不能在这里输入下标。
Y(i-1) is known for only Yi(i=1) and
Y(i+1) is known for only Yi(i=n-1)
Initial conditions: Yi(0)=0; for i=1,2,...n-1;
我尝试了以下代码,但又找回了错误:
%%Y0 and Yn are known
for i=1:n-1
if i==1
Yt=Y(i+1);
Y=dsolve('DY=2*Y*(Y0-Yt)-Y','Y(0)=0');
elseif i==n-1
Yt1=Y(i-1);
Y=dsolve('DY=2*Y*(Yt1-Yn)-Y','Y(0)=0');
else
Yt1=Y(i-1);
Yt=Y(i+1);
Y=dsolve('DY=2*Y*(Yt1-Yt)-Y','Y(0)=0')
end
end
以下错误显示: 使用==>时出错mupadmex MuPAD命令出错:索引超出矩阵维度。
==>中的错误sym.sym> sym.subsref at 1381 B = mupadmex('symobj :: subsref',A.s,inds {:});
==>中的错误在14岁的testerode YT = Y(I + 1);
有没有办法用matlab或simulink解决这个问题?感谢