声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 7981|回复: 5

[编程技巧] 请教大家如何判断矩阵中是否含有0元素?

[复制链接]
发表于 2007-7-25 10:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我知道可以用all(a)%其中a是矩阵名判断,但是比如a是个3*3矩阵,all语句只能判断第1\2\3行分别含有不含有0向量
也就是返回的是3个值,

后来我将矩阵的变为一个1*9的行矩阵,返回值就变成了1个了
但是这种方法小矩阵还可以,大矩阵运算量就太大了,
我希望能直接判断一个矩阵含不含0元素
应该怎么做,请大家帮助我,谢谢了
我的QQ7821842
回复
分享到:

使用道具 举报

发表于 2007-7-25 12:07 | 显示全部楼层
help find
发表于 2007-7-25 13:11 | 显示全部楼层
原帖由 qiqik0521 于 2007-7-25 10:16 发表
我知道可以用all(a)%其中a是矩阵名判断,但是比如a是个3*3矩阵,all语句只能判断第1\2\3行分别含有不含有0向量
也就是返回的是3个值,

后来我将矩阵的变为一个1*9的行矩阵,返回值就变成了1个了
但是这种方法小 ...


any(a(:))

评分

1

查看全部评分

发表于 2013-7-15 20:16 | 显示全部楼层
[row,col]=find(A==0);
此语句会将A中为0的元素所在的行和列存在row和col中

评分

1

查看全部评分

发表于 2013-7-16 21:15 | 显示全部楼层
beckybu 发表于 2013-7-15 20:16
[row,col]=find(A==0);
此语句会将A中为0的元素所在的行和列存在row和col中

感谢和大家分享经验!
不过若要符合LZ的目的, 可能还需加句判断式
发表于 2013-7-16 22:11 | 显示全部楼层
本帖最后由 米斯兰达 于 2013-7-16 22:12 编辑

楼上各位的方法已经很好了 我再提供一种方法哈
all函数可以带参数,all(a)就是all(a,1),检测a的每一列是否有0,而all(a,2)则是检测a的每一行是否有0
这样用两次all函数不就可以了吗,即
all(all(a),2)
判断返回的值,如果为1则说明a中肯定不含0,如果为0则说明a中至少含一个0

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 00:50 , Processed in 0.055740 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表