MATLAB错误:“向量必须是相同的长度”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB错误:“向量必须是相同的长度”相关的知识,希望对你有一定的参考价值。

我收到的错误是“向量必须长度相同”,但我不确定原因。我基本上试图绘制关于时间的分段函数。我之前使用“分段”运算符遇到了一些其他问题,所以我决定使用if语句。

figure(1);        

t = linspace(0, 30, 200); 

v_wind1 = linspace(0, 20, 100);      
v_wind2 = linspace(20, 0, 100);   

if (0 <= t < 15)                         
    v_wind = v_wind1;                        
elseif (15 <= t <30)                        
    v_wind = v_wind2;                     
end        

plot(t, v_wind);    
答案

只需连接v_wind1v_wind2

figure(1);        

t = linspace(0, 30, 200); 

v_wind1 = linspace(0, 20, 100);      
v_wind2 = linspace(20, 0, 100);   

v_wind = [v_wind1 v_wind2];    

plot(t, v_wind); 

这应该做的伎俩!?你想要那个结果,不是吗?

enter image description here

另一答案

简单地使用:索引

t = linspace(0, 30, 200); 

v_wind1 = linspace(0, 20, 200);      
v_wind2 = linspace(20, 0, 200);   

v_wind = zeros(size(t)) ;
idx = t >= 0 & t<15 ;
v_wind(idx) = v_wind1(idx) ; 

idx = t >=15 & t < 30 ;
v_wind(idx) = v_wind2(idx) ; 

plot(t,v_wind) 

以上是关于MATLAB错误:“向量必须是相同的长度”的主要内容,如果未能解决你的问题,请参考以下文章

在下面的代码片段中的剩余 ='passthrough' 处的代码中出现语法错误

如何向 ViewPager 提供许多片段并避免错误代码?

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

片段事务中的实例化错误

为啥代码片段在 matplotlib 2.0.2 上运行良好,但在 matplotlib 2.1.0 上引发错误

学习 PyQt5。在我的代码片段中找不到错误 [关闭]