作者xiaoa (不事生产)
看板ask-why
标题Re: [请益] 有效位数的乘除
时间Wed Jun 23 08:26:10 2010
※ 引述《aboutsimple (Simple)》之铭言:
: 我看不懂书在写什麽~"~
: 一般来说是取最少位数的,可是什麽时候例外呢?
: 课本上举例:
: (1) 24*4.52/100.0 = 1.08
: (2) 24*4.02/100.0 = 0.965
: 依照一般规则(1)应该取1.1, (2)也应该取0.96
: 可是课本的解释是:
: 因为
: 1.08 /24 = 0.045~0.04
: 0.965/24 = 0.040~0.04
: 所以(1)取1.08, (2)取0.96
: 可是我不懂他的解释,解释结果都是约等於0.04呀!
: 为什麽取的位数不一样,根本看不懂课本写什麽啦>口<
hmm...
我试着解释看看
基本上, 经由测量得到的数值之最後一位数, 是估计值
估计值通常只有一位, 且它被当成是一种误差
当两个估计值相加减,保留影响最大的那一个
2.0 + 3.44 = 5.44
於 2.0 来说 估计位数是小数点第二位 0.4
於 3.44来说 估计位数是小数点第三位 0.04
0.4 > 0.04 故保留第二位
2.0 + 3.44 = 5.44 => 5.4
当两个估计值相乘除,由估计值相运算产生的尾数不算(误差的误差,或者说是delta^2)
5.67 * 23.4 = (5.6 + 0.07) * (23 + 0.4)
= 5.6 * 23 + 5.6 * 0.
4 + 0.0
7 * 23 + 0.0
7 * 0.
4
= 128.8 +
2.24 +
1.61 +
0.028
= 13
2.65 +
0.028
个位数为估计值,且按照这样的计算,0.028 会直接舍弃(估计值,没差)
但是,这样算很麻烦,所以....
每一组数字相乘除, 其每个位数的影响范围是跟着其原来的顺序
假设 2222 * 333 以有效数字较少的 333解释
222
2 * 33
3
= 7 3 9 9 2 6
6 6
6 <-- 关键
6 6
6
6 6
6
6 6 6
7 3
9 9 2 6
可知, 估计值的影响会为有效数字最少的那一组数值最大,
且范围通常就在...*我不懂怎麽讲, 就是上 7 3
9 的
9
有时候会受运算的进位影响(用上面拆解的方式算可以发现), 但通常影响不大, 且频率低
所以就直接,以运算时 有效数字最少的, 决定运算後取几位有效数字
通常不建议拿测量值做反覆的运算+取有效数字,因为运算过程会不断舍弃後面的尾数
虽然只是很小的误差,也还是会累积
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.244.42
※ 编辑: xiaoa 来自: 140.112.244.42 (06/23 08:28)
※ 编辑: xiaoa 来自: 140.112.244.42 (06/23 08:32)
1F:推 micklin:推, 但是我眼睛好花@@ 06/23 17:30
2F:推 Oikeiosis:不好意思 我觉得你讲得很可疑 三位乘三位 最後五位有效 06/24 01:06
3F:→ Oikeiosis:我认为你把估计值的误差放大了十倍 这里是不对的 06/24 01:08
4F:→ xiaoa:啊...我错了... 06/28 20:53
修改了 @__@
※ 编辑: xiaoa 来自: 140.112.244.42 (06/28 21:19)
5F:推 Oikeiosis:你新加的是没错啦 可是旧题里不能直接杀0.028 06/29 03:07
6F:→ Oikeiosis:我说清楚一点 估计值照你这样用黄色只能保留一位 06/29 03:09
7F:→ Oikeiosis:也就是136的6就是估计值 後面都要舍 而这是错的 06/29 03:09
8F:→ Oikeiosis:哈 看错了132.6 的6进位个位数变成3 这样答案是对的 06/29 03:13
9F:→ Oikeiosis:嗯... 对啦 现在答案是对的啦... 过程好像也说得通... 06/29 03:14
10F:→ Oikeiosis:好的 那我不要吹毛求疵好了 06/29 03:14