这是我的代码,我知道你必须让矩阵的维度等于排队,这就是为什么我将y转置为一个列并且都有21行,但有时代码会在我发布时运行,但之后一段时间如果我再次运行它会持续运行它然后遇到此错误。它表示行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')
答案 0 :(得分:0)
您的问题是y
在您尝试显示时只有一个元素。
您正在构建[t,y]
,这是两个元素的串联 - t
和y
。但t
是一个长度为向量的向量(21),而您尚未将y
初始化为任何长度。
如果您确实想在设置之前显示y
,可以使用y(1:21)= 0将其初始化为零
但是,为什么要在计算估算的解决方案之前显示y
和t
呢?