数学建模社区-数学中国

标题: 求助:判断两个矩阵相等 [打印本页]

作者: 今生已醉    时间: 2015-3-27 10:52
标题: 求助:判断两个矩阵相等
我觉得两个矩阵A,B是相等的,但是MATLAB(我用的是isequal(A,B))总显示不相等,该怎么办?也就是说该如何判断两个矩阵是相等的?


作者: 雨不眠的下    时间: 2015-3-27 10:53
你觉得?你咋觉得的,把矩阵粘出来看看,呵呵

作者: 中国有个习大大    时间: 2015-3-27 10:56
看看有没有别的软件可以证明

作者: 江山与你    时间: 2015-3-27 10:56
可以看看MATLAB软件里关于isequal的详细用法,里面有一种特殊情况,就数如果矩阵里包含NaN,是无法确认相等的

作者: 别提最初    时间: 2015-3-27 10:58

isequal应该是可以的

作者: 数学中国—罂粟    时间: 2015-3-27 11:05
>> a = 0.001111
a =
    0.0011
>> b = 0.001112
b =
    0.0011
>> isequal(a,b)
ans =
     0

注意一下
虽然都是显是 0.0011
但实际时却是不同的
所以就算看起来矩阵数字都一样
但实际上矩阵內容却有所不同
可以使用一些舍去的函数
来解決这些问题

ceil        Round toward positive infinity        向正无穷取整
fix        Round toward zero        向0方向取整
floor        Round toward negative infinity        向负无穷取整
idivide        Integer division with rounding option        整数除法的舍入选项
mod        Modulus after division        求模
rem        Remainder after division        求除数
round        Round to nearest integer        向最近的整数取整


>> isequal(fix(a*1000),fix(b*1000))
ans =
     1

放大 1000 倍再將小数点去除
等等~很多用法
自己想看看吧

作者: 今生已醉    时间: 2015-3-27 11:06
谢谢你啊 你的意思是说如果用isequal(a,b)结果为0,就表示a,b肯定不等是吗?即使显示相等其实也是不等的对吗?有没有用isequal结果为0而实际a,b是相等的呢?

作者: 有我别慌    时间: 2015-3-27 11:10

你的想法很有创意,哈哈

作者: 何以孤独    时间: 2015-3-27 11:12
路过学习了

作者: 就这么干    时间: 2015-3-27 11:13
简洁有力的方法!





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5