0

我有一个这种形式的 ODE 系统;

Yi=2*Yi*(Y(i-1)-Y(i+1))-Yi;  i=1,2,...n-1; 

请注意,带有 Y 的 i、i-1 和 i+2 不是索引;而是下标,因为我无法在此处键入下标。

    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 中的错误在 1381 B = mupadmex('symobj::subsref',As,inds{:});

==> testerode 在 14 Yt=Y(i+1) 时出错;

有没有办法使用matlab或simulink解决这个问题?谢谢

4

0 回答 0