这是我的代码:
%Initial Conditions:
y(1)=1;
Dy(1)=0;
DDy(1)=0;
t(1)=0;
%Parameters:
dt = 0.1;
nsteps =10/dt;
for i=1:nsteps
t(i+1) = t(i) + dt;
DDy(i+1) = 12*t.*y(i) + (18*t.^2 - 6).*(y(i).^2).*Dy(i);
Dy(i+1) = Dy(i) + DDy(i)*dt;
y(i+1) = y(i) + Dy(i+1)*dt;
end
以下是错误消息:
在作业中,A(I)= B,数量为 B和I中的元素必须相同。
euler_croemer_de中的错误(第20行) DDy(i + 1)= 12 * t。* y(i)+(18 * t。^ 2 - 6)*(Y(I)^ 2)*的Dy(I);
我试过在互联网上搜索,我可能会自己解决这个问题。但是,老实说,我找不到任何有用的东西。
我很感激有人的帮助。
答案 0 :(得分:1)
在第
行DDy(i+1) = 12*t.*y(i) + (18*t.^2 - 6).*(y(i).^2).*Dy(i);
t
包含i+1
个元素,因此右侧是长度为i+1
的向量。但是,左侧是指单个值,即DDy
的一个条目。因此,您尝试将矢量分配给DDy
的单个条目。因此错误。
也许你的意思是t(i+1)
而不是t
?