我有一个行向量,我想将它添加到矩阵的末尾

时间:2012-08-10 13:53:56

标签: matlab signal-processing fft

我有很多FFT数据,我想把它全部放到一个二维数组中。每个新条目如下所示:[1 2 3 4 5 6 7 ...](依此类推,适用于1200列)。

我想将它添加到最后(矩阵的底部),例如:

[ 1 2 3 4 5 6 7
  1 2 3 4 5 6 7
  ... ]             <-- add here please

我想知道我应该怎么做?

3 个答案:

答案 0 :(得分:3)

我认为你的意思是基本的连接

>> a = [1 2 3 4 5 6 7 ...];
>> b = [2 3 4 5 6 7 8 ...];
>> c = [a; b]
c = 
   1 2 3 4 5 6 7 ...
   2 3 4 5 6 7 8 ...

如果你在循环中这样做,事先预先分配矩阵是个好习惯:

>> a = zeros(5);
>> for i = 1:5
>>     a(i, :) = randi(10,1,5);
>> end
a =
     3     6    10    10     2
    10    10     5     9     2
     5    10     8    10     7
     1     9    10     7     8
     8     4     7     2     8

虽然技术上有可能“成长”。数组(如在a = [a; randi(10,1,5)]中),不建议在循环内部执行此操作 - 这使得它们实际上要慢得多。

答案 1 :(得分:0)

或者,您可以使用cat进行连接。

答案 2 :(得分:0)

干杯们,我已经设法使用不同的解决方案来解决我的问题。我会分享我的答案,以防将来有人发现这件事。

i=1;
A=zeros(m,n);
while(i<m)
  (do some FFT stuff here)
  A(i,1:n)=(F.*conj(F))';       %where F is the temporary vector for storing FFT results
  i=i+1;
end