如何最快速地从阵列中删除整个行/列?

时间:2013-04-01 17:49:56

标签: matlab

E.g。我想将360x160阵列变成360x159阵列。

2 个答案:

答案 0 :(得分:1)

您只能选择所需的行:

a = ones(360,160);
b = a(:,1:159);
size(b)
ans =

   360   159

答案 1 :(得分:0)

最快的方法是删除列,如@jucestain建议的那样。如果要保留原始数组,则将其复制并从副本中删除。 @Molly的解决方案稍慢。

>> tic; a=ones(360,160); a(:,160)=[]; toc
Elapsed time is 0.001409 seconds.
>> tic; a=ones(360,160); b=a; b(:,160)=[]; toc
Elapsed time is 0.001827 seconds.
>> tic; a=ones(360,160); b=a(:,1:159); toc
Elapsed time is 0.004002 seconds.