Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-03-03
年龄: 41
帖子: 18
声望力: 18 ![]() |
![]()
我有一个矩阵A
想找到这个矩阵中全是0的行并输出行号 请问该怎样编程?在线等,多谢! |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21 ![]() |
![]()
听你的意思,应该是一个二维矩阵了,这个应该不难,
[m,n] = size(A); flag = 0; for k = 1:m if find(A(k, ![]() flag = flag+1; zerorow(flag) = k; end end 其中zerorow中存的就是全零行号; 同样,这段代码可扩充到多维矩阵,判断某一维全为0。 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-03-03
年龄: 41
帖子: 18
声望力: 18 ![]() |
![]()
非常感谢!
|
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-03-03
年龄: 41
帖子: 18
声望力: 18 ![]() |
![]()
刚刚运行了一下上面的代码,发现输出的是所有行的行号,可是矩阵中应该只有很少的几行是全0的,是哪里出问题了吗?
顺便说一下,A是一个稀疏矩阵,里面的零元素比较多,但是大多数行还是包含非零元素的,再次请高手指教!谢谢! |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-05-22
年龄: 40
帖子: 4
声望力: 0 ![]() |
![]()
[m,n] = size(A);
flag = 0; for k = 1:m if size(find(A(k, ![]() flag = flag+1; zerorow(flag) = k; end end 在他的基础上改了改,:tongue: 这个样子就可以了.... |
![]() |
![]() |
![]() |
#6 |
高级会员
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21 ![]() |
![]()
呵呵,楼上说的对,有点儿马虎了,不好意思
|
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]谁有分割织物图像的代码??其他的也凑活 | laowangsb | MATLAB论坛 | 0 | 2008-05-14 14:33 |
[求助]曲线拟合 | 北斗 | MATLAB论坛 | 4 | 2008-05-05 07:23 |
[求助]找不到 'myprog.cpp' | XD23 | MATLAB论坛 | 0 | 2008-05-03 10:20 |