[讨论] 标准差问题 平方破表

楼主: verylovemary (烤地瓜)   2014-05-30 17:11:05
我想请问大大们 我做一个实验 之后求标准差
用标准差的公式
标准差={[(各数-平均数)^2的总和] 除以 样本数}开根号
我遇到 我个数 2.27976e-178 平均数 2.75109e-177
问题在于 (各数-平均数)后平方 我是用double 但还是破表....
变成0..
后面都不用算了
想请问大大们 有遇到破表情况要怎么办?
作者: littleshan (我要加入剑道社!)   2014-05-30 17:18:00
所有样本乘上一个常数去算标准差,算完再除回去
楼主: verylovemary (烤地瓜)   2014-05-30 17:30:00
感恩!!!
作者: johnpage (johnpage)   2014-05-30 21:26:00
如果会破表,那市售软件怎么可以用。
作者: damody (天亮damody)   2014-05-31 00:16:00
mpfr 或用别的程式语言或工具
作者: blackwindy (黑色的风)   2014-05-31 04:23:00
大数运算的library
作者: williams7442 (我只剩下嘴砲了)   2014-05-31 14:58:00
我最近也在写这个程式 我一直在研究里面的程式码输入位数到越高或越低 会出.#J
作者: LPH66 (-6.2598534e+18f)   2014-05-31 15:21:00
楼上那是因为出现无限大, 输出 1.#INF 再"四舍五入"成 1.#J另外原 PO 的问题是另一个方向的破表, 它 underflow 了
作者: williams7442 (我只剩下嘴砲了)   2014-05-31 15:28:00
有方法可以改善吗? 如果输入两个极端数字就会变成这或两个极高数字
作者: LPH66 (-6.2598534e+18f)   2014-05-31 15:32:00
调整公式使得计算的数字的次方数不要那么接近边界例如原 PO 的数字太小所以一楼建议乘上常数变大算完再除回去
作者: williams7442 (我只剩下嘴砲了)   2014-05-31 15:39:00
试设输入字串的范围?
作者: LPH66 (-6.2598534e+18f)   2014-05-31 17:13:00
如果是使用者输入值的话限制输入范围也是一个方法

Links booklink

Contact Us: admin [ a t ] ucptt.com