700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > MATLAB运用all函数剔除0元素

MATLAB运用all函数剔除0元素

时间:2021-08-13 07:34:37

相关推荐

MATLAB运用all函数剔除0元素

大家好,最近在做一个数学仿真,需要对一个行向量进行剔除0元素的处理,因此学习了all函数和any函数的使用方法,希望能帮到遇到相同问题的朋友。

首先介绍all函数和any函数的使用,然后给出实例帮助大家理解,最后是我使用的剔除向量中0元素的代码

一. 函数介绍

1. all函数

检测矩阵中某行或者某列是否全为非零元素,如果是,则返回1,否则,返回0。

下面具体进行一下展示

%运行如下代码,演示all函数y = [1,1,1,0;2,2,2,0;0,0,0,0;2,0,2,0]Y1 = all(y,1)%{用于检测每一列是否全为非零元素,如果某一列中有一个元素为零,则返回0,如果某一列中全为非零元素,则返回1,由此构成一个行向量。%}Y2 = all(y,2)%{用于检测每一行是否全为非零元素,如果某一行中有一个元素为零,则返回0,如果某一行中全为非零元素,则返回1,由此构成一个列向量。%}%得到结果为>>y =111222000202Y1 =000Y2 =1100

2. any函数

如果 A 为非空非向量矩阵,B = any(A) 将 A 的各列视为向量,返回包含逻辑 1 和 0 的行向量。

y = [1,0,0;2,2,0;0,0,0]Y=any(y)%得到结果>>y =100220000Y =110

二. 剔除0元素

基本思想就是利用all函数找到0元素,然后设为空,对于行向量找到0元素对应的列;对于列向量则找到0元素对应的行即可,代码如下

%删除全0行a(all(a==0,2),:) = [];%删除全0列a(:,all(a==0,1))= []

演示实例

A = [1,0,0,2,0,0,3,0,4]A(:,all(A==0,1))= []B = [1,0,0,2,0,0,3,0,4]'B(all(B==0,2),:)= []>>A =10004A =1234B =10004B =1234

这样我们就可以轻松剔除0元素,以供后续处理!!

不足之处还请多指正!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。