作者tlkf ( 噗~)
看板MATLAB
标题[讨论] 请教关於科学记号表示
时间Mon Nov 5 23:15:03 2012
对於计算结果数值太大或太小的时候
matlab会自动用科学记号的方式表示
但是今天跑程式突然出现一个状况
我把运算结果放在array的index里
算到一半就出现警告 告诉我index必须是整数
虽然还是可以继续算
不过最後出来的结果是错的@@
我检查了一下发现
我的matlab在算1000*(15.196+1) 时
结果会变成 1.6196e+004
但是明明更大的数1000*(19.2920+1)
却可以正常显示成 20292 @@"
自己觉得很奇怪
就算用科学记号表示 实际数值应该也不会有错才对
没道理得到的结果会变成错的
就再测试一下
a1=1000*(15.196+1)
b1=16196
a1==b1
结果跑出来ans=0 @@"
a2=1000*(19.292+1)
b2=20292
a2==b2
结果ans=1 囧"
想请教大家
是我什麽地方误会了吗.....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.154.209
1F:推 CBET:abs(a1 - b1) = 1.8190e-12 浮点数不会精确 11/06 09:58
2F:→ tlkf:所以是自己输入的也不精确吗? @@ 我还以为算出来的可能不准.. 11/07 20:15