从矩阵中删除行

时间:2015-05-06 13:40:02

标签: matlab matrix

我有阵列" A"值:

101                 101
0                   0
61.6320000000000    0.725754779522671
73.7000000000000    0.830301150185882
78.2800000000000    0.490917508345341
81.2640000000000    0.602561200211232
82.6880000000000    0.435568593909153

我希望删除第一行并保留数组的形状(2列),从而创建数组

0                   0
61.6320000000000    0.725754779522671
73.7000000000000    0.830301150185882
78.2800000000000    0.490917508345341
81.2640000000000    0.602561200211232
82.6880000000000    0.435568593909153

我使用了A = A(A~=101);,它会根据需要删除值 - 但是它会将数组打包到一列。

1 个答案:

答案 0 :(得分:5)

最好的方法是:

A = A(2:end, :)

但你也可以

A(1,:) = []

然而效率略低(见Deleting matrix elements by = [] vs reassigning matrix

如果您要删除等于某个数字的行,请尝试

A = A(A(:,1)~=101,:)

如果要删除行,如果全部或任何列等于您的值,请使用allany

A = A(all(A~=101,2),:)