matlab 如何去掉矩阵中的全0行
1个回答
展开全部
1、第一步删除全零行之前,首先要了解一下all函数和any函数的用法,可以通过这两个函数来删除全零行或者列,介绍如下图所示:
2、第二步在matlab命令行窗口中新建一个a=[1,2,4;0,0,0;1,3,5;0,0,0]矩阵,可以看到这个矩阵中有两行为全零行,下面来删除这两行,如下图所示:
3、第三步删除全零行,主要通过all(a==0, 2),这返回的是一个列向量,可以检测到全零行的位置,因为使用了a=0,返回的为0代表是非零元素,返回的为1代表是全零行,如下图所示:
4、第四步使用a(all(a==0,2),:)=[]代码来删除全零行,如下图所示:
5、第五步按回车键之后,可以看到已经删除了a矩阵的2行全零行,如下图所示:
6、第六步需要注意的是,如果直接使用a(all(a,2),:)=[]来删除,删除的是非零行,留下的是全零行,如下图所示:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |