MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]查找矩阵中的全零行 (https://www.labfans.com/bbs/showthread.php?t=3183)

joyht 2008-05-23 15:09

[求助]查找矩阵中的全零行
 
我有一个矩阵A
想找到这个矩阵中全是0的行并输出行号
请问该怎样编程?在线等,多谢!

yhcode 2008-05-23 16:42

听你的意思,应该是一个二维矩阵了,这个应该不难,
[m,n] = size(A);
flag = 0;
for k = 1:m
if find(A(k,:)==0)
flag = flag+1;
zerorow(flag) = k;
end
end
其中zerorow中存的就是全零行号;
同样,这段代码可扩充到多维矩阵,判断某一维全为0。

joyht 2008-05-23 18:51

非常感谢!

joyht 2008-05-23 19:40

刚刚运行了一下上面的代码,发现输出的是所有行的行号,可是矩阵中应该只有很少的几行是全0的,是哪里出问题了吗?
顺便说一下,A是一个稀疏矩阵,里面的零元素比较多,但是大多数行还是包含非零元素的,再次请高手指教!谢谢!

guflei 2008-05-23 21:59

[m,n] = size(A);
flag = 0;
for k = 1:m
if size(find(A(k,:)==0),2)==n
flag = flag+1;
zerorow(flag) = k;
end
end

在他的基础上改了改,:tongue: 这个样子就可以了....

yhcode 2008-05-24 14:21

呵呵,楼上说的对,有点儿马虎了,不好意思


所有时间均为北京时间。现在的时间是 05:00

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.