2014-11-06 107 views
0

我尝试添加一些在每一行代表一个向量矩阵向量的,但它给了我。“带下标的转让尺寸不匹配。”错误。主要问题是每个矢量具有不同的大小。我试图在短矢量的末尾添加零,但我无法做到。任何帮助。把不同大小的矢量矩阵

实施例:

%signal is a vector of data. 
[x(1,:),y(1,:)] = findpeaks(signal1); 
[x(2,:),y(2,:)] = findpeaks(signal2); %error as the peaks count in signal 2 is not the same as in signal 1. 

回答

0

行,鉴于不等长的两个向量,

A=rand(1,10) 
B=rand(1,5) 

正确的方法来处理,这是使用一个单元阵列

D={A;B} 

而那么你可以得到任何你想要的元素,例如:

D{1}(1:3) %// A(1:3) 

如果你不想使用单元,您可以添加使用这个小功能,增加了行行向量M到矩阵F

[email protected](F,M) [F NaN(size(F,1),size(M,2)-size(F,2));M NaN(1,size(F,2)-size(M,2))] 

你会使用这样的:

F=A 
F=addRow(F,B) 
+0

感谢大卫的回答,但是这会增加不列列向量。如果大小小于矩阵大小,我需要将每个矢量放在一行中,并将它们连成零。 – SMH 2014-11-06 05:12:17

+0

@SMH好的,我编辑了我的答案。你真的应该为此使用单元格,但我会更新它以包含'NaN'数组方法。 – David 2014-11-06 05:16:49

+0

是否有一种方法可以将特定数量的零连接到矢量? – SMH 2014-11-06 05:19:27