您的位置:首页 > 编程语言 > MATLAB

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

2017-11-10 18:35 4463 查看

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
[/code]

转载:http://blog.csdn.net/yangziluomu/article/details/49388101
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: