如何使用matlab或simulink来解决这样的相互依赖的ODE系统?

时间:2013-06-29 22:49:02

标签: matlab simulink ode dsolve

我有一个这种形式的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解决这个问题?感谢

0 个答案:

没有答案