2

我有很多 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

我想知道我应该怎么做?

4

3 回答 3

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)]),但不建议在循环内执行此操作 - 这会使它们变得非常慢。

于 2012-08-10T14:05:27.990 回答
0

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

于 2012-08-10T14:38:42.110 回答
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
于 2012-08-10T16:04:00.530 回答