MATLAB中如何删除全零行或者列

来源:互联网 发布:sql语句大全 编辑:程序博客网 时间:2024/05/22 16:56

1,all 函数语法

all函数:检测矩阵中是否全为非零元素
any函数:检测矩阵中是否有非零元素,如果有,则返回1,否则,返回0。用法和all一样

vector = all(array, 1)返回一个行向量,可以认为all(A, 1)等价于all(A)
vector = all(array, 2)返回一个列向量,用于检测每一行是否全为非零元素,如果某一行中有一个元素为零,则返回0,如果某一行中全为非零元素,则返回1,由此构成一个列向量。

2,删除全零行实例

删除数组array中的全零行
array = [1,2,4;0,0,0;1,3,5;0,0,0];%假设数据2,4行为全零
all(array == 0, 2);%选出所有零行,并用logical向量表示
array (all(array == 0, 2),:) = []; %全零行设为空,即可去掉
结果:

array = [1,2,4;0,0,0;1,3,5;0,0,0];array =     1     2     4     0     0     0     1     3     5     0     0     0all(array == 0, 2)ans =     0     1     0     1array (all(array == 0, 2),:) = [];array =     1     2     4     1     3     5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

转载:http://blog.csdn.net/yangziluomu/article/details/49388101

原创粉丝点击