2014-11-06 75 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