【求助】matlab里两个相等的数相减为什么不等于0呢
自己编了一个小程序,调试时一个本应该为零的结果总是不等于零。认真检查中间的过程,没有发现错误。最后把每一个数拆开发现,运算中两个表达式计算出来的结果完全相等,但是它俩的差值却不等于零。请问这是什么原因造成的。这两个数都是通过矩阵中的元素运算得出来的。另:我将俩数相除,结果等于1。
MATLAB接触不多,还请各位帮忙解答一下,谢谢!
今日热帖
自己编了一个小程序,调试时一个本应该为零的结果总是不等于零。认真检查中间的过程,没有发现错误。最后把每一个数拆开发现,运算中两个表达式计算出来的结果完全相等,但是它俩的差值却不等于零。请问这是什么原因造成的。这两个数都是通过矩阵中的元素运算得出来的。另:我将俩数相除,结果等于1。
MATLAB接触不多,还请各位帮忙解答一下,谢谢!
计算精度问题
你可以看看这两个数的数量级,有可能是在小数点后很多位才能看出来差距。而单独显示的只是前几位。
因为是浮点数
就当学习了,
http://www.rayfile.com/files/ea4 ... -8ec4-0014221b798a/
[ Last edited by nono2009 on 2009-10-26 at 16:03 ],
如果是出现一个很小的数的话可以理解,要是一个很大的数的话,就不可能是精度问题了吧??、
如果单独计算没有问题的话,相减就不应该出现这种问题
建议你分开计算相等后再相减下,如果等于0,就说明你的程序中间有个小错误