PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
MATLAB
[讨论] 请问数值的表示问题
楼主:
jasonlee1001
(Jason)
2016-12-25 10:49:56
x=4.181-4.169
x = 0.0120
>> y=4.169-4.157
y = 0.0120
>> x-y
ans = 8.8818e-016
请问大家有什么办法可以让 x-y = 0 ?
我另外算了以下:
>> x=4.157-4.146
x = 0.0110
>> y=4.146-4.135
y = 0.0110
>> x-y
ans = 0
为什么这个的结果又是 0 ?
作者:
sppmg
(sppmg)
2016-12-25 13:23:00
数值储存问题,因为电脑中用二进制,浮点数只能存成接近的数值(所以银行据说使用BCD编码存,就不会漏掉小数了)。显示数值后面可能还有极小的数值差异。round(pi,3) ,四舍五入至3位小数所以if比较两浮点时,千万不要用==比,改用abs(a-b)<1e-10这形式。整数(integer型态)就没这问题。
作者:
rex0707
(我就是我)
2016-12-27 13:11:00
machine error
作者:
tn00364361
(小氵斿)
2016-12-27 20:57:00
machine epsilon
继续阅读
[求助]循环中使用fopen、textscan
xx013652
[讨论] 圆的座标
ziggyzzz
[其他] 初学者请求大大帮忙debug
death811125
[绘图] 电压2D PRPD时序问题
longtoes
[讨论] 关于invfreqs
kampa
[其他] 如何用.bat档执行指定位置的.p档
s020201
[绘图] 做离散傅立叶转换DFT
weien0126
[讨论] 请问matlab如何debug提升运算效能
potter1529
[讨论] 关于终止的指令
Blood5499
[讨论] 好像没有HEX转有号数的函式?
qeagle
Links
booklink
Contact Us: admin [ a t ] ucptt.com