求助:判断两个矩阵相等
我觉得两个矩阵A,B是相等的,但是MATLAB(我用的是isequal(A,B))总显示不相等,该怎么办?也就是说该如何判断两个矩阵是相等的?你觉得?你咋觉得的,把矩阵粘出来看看,呵呵
看看有没有别的软件可以证明
可以看看MATLAB软件里关于isequal的详细用法,里面有一种特殊情况,就数如果矩阵里包含NaN,是无法确认相等的
isequal应该是可以的
>> 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 倍再將小数点去除
等等~很多用法
自己想看看吧
谢谢你啊 你的意思是说如果用isequal(a,b)结果为0,就表示a,b肯定不等是吗?即使显示相等其实也是不等的对吗?有没有用isequal结果为0而实际a,b是相等的呢?
你的想法很有创意,哈哈
路过学习了
简洁有力的方法!
页:
[1]