这是我的代码,我知道你必须有矩阵的维度等于排队,这就是为什么我转置y使其成为一列,两者都有21行,但有时代码运行时,我发布,但之后一次持续运行它然后命中此错误,如果我尝试再次运行它。它说line disp([t,y])
%Define parameters
A=1250; %m^2
Q=450; %m^3/d
a=150;
y(1)=0;
t=[0:0.5:10]';
y=y';
disp(' t y')
disp('----------------------')
disp([t,y])
%Set loop in (Eulers method) for the amount of steps we want to do to
%find our estimated solution
for i=1:20
y(i+1)=y(i)+((3*(Q/A)*sin(t(i)).^2)-(a*(1+y(i)).^1.5/A))*0.5;
end
%generate plot for data
plot(t,y)
title('Plot of y vs t')
xlabel('time')
ylabel('y')
您的问题是,当您试图显示y
时,它只有一个元素。
您正在构建[t,y]
,它是两个元素- t
和y
的连接。但是t
是一个长度为21的向量,而你没有将y
初始化为任何东西。
如果你真的想在y
设置之前显示它,你可以使用y(1:21) = 0将它初始化为0
但是,在计算出估计的解之前,为什么要显示y
和t
呢?