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

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     0
all(array == 0, 2)
ans =

     0
     1
     0
     1
array (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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值