我怎样才能最快速地将另一列附加到Matlab矩阵中?

时间:2013-04-01 17:28:59

标签: matlab

所以如果tavg_curltau是一个360x159的双倍,并且我想将它转换成360x160的双倍,我该怎么做?

3 个答案:

答案 0 :(得分:4)

您可以使用[]连接矩阵。例如:

a = ones(360,159);
b = ones(360,1);
c = [a,b];
size(c)
ans =

   360   160

答案 1 :(得分:3)

您可以使用horzcat()函数,括号或cat()函数将列附加到矩阵,dim = 2。第一个是最快的。无论如何,请确保要追加的列与要追加的矩阵的高度(行数)相同。否则,您将收到错误。

>> tic; a=ones(360,159); b=zeros(360,1); c=horzcat(a,b); toc
Elapsed time is 0.000323 seconds.
>> tic; a=ones(360,159); b=zeros(360,1); c=[a,b]; toc
Elapsed time is 0.000858 seconds.
>> tic; a=ones(360,159); b=zeros(360,1); c=cat(2,a,b); toc
Elapsed time is 0.001050 seconds.
>> tic; a=ones(360,159); b=zeros(359,1); c=horzcat(a,b); toc
Error using horzcat
CAT arguments dimensions are not consistent. 

答案 2 :(得分:1)

通过相同(159X160)矩阵I

多个