我的代码运行,然后有时它有错误"Error using horzcat Dimensions of matrices being concatenated are not consistent."



这是我的代码,我知道你必须有矩阵的维度等于排队,这就是为什么我转置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],它是两个元素- ty的连接。但是t是一个长度为21的向量,而你没有将y初始化为任何东西。

如果你真的想在y设置之前显示它,你可以使用y(1:21) = 0将它初始化为0

但是,在计算出估计的解之前,为什么要显示yt呢?

最新更新