我的代码运行然后有时它有错误"使用horzcat的错误连接的矩阵的维度不一致。"

时间:2015-09-09 04:48:06

标签: matlab matrix

这是我的代码,我知道你必须让矩阵的维度等于排队,这就是为什么我将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')                 

1 个答案:

答案 0 :(得分:0)

您的问题是y在您尝试显示时只有一个元素。

您正在构建[t,y],这是两个元素的串联 - ty。但t是一个长度为向量的向量(21),而您尚未将y初始化为任何长度。

如果您确实想在设置之前显示y,可以使用y(1:21)= 0将其初始化为零

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