数学研发论坛

 找回密码
 欢迎注册
楼主: 云梦

[原创] 真正的高精度科学计算器

[复制链接]
发表于 2013-1-16 08:37:02 | 显示全部楼层
90# 云梦
mathe在83楼给的答案绝对不会错的,顶多有效数字不够精确,但该方法的优势就是a,b差距越大,正确的有效数字越多
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-16 08:54:58 | 显示全部楼层
本帖最后由 云梦 于 2013-1-16 09:03 编辑
直接写作:
$sqrt(x^2-b^2)= ({a(x+sqrt(x^2-b^2))}/ {b(x+sqrt(x^2-a^2))})^x *b/a*sqrt(x^2-a^2)$
将$x~=b$代入右边,可以得出$sqrt(x^2-b^2)$
比如a=Pi, b=199298代入可以得出1.1589959974805705323877472925915 ...
mathe 发表于 2013-1-15 19:53

对于a,b数值较大时可以用近似的方法,这个结果是正确的,不过在精度范围内数值有误。正确结果是:
199298.  +  3.3700080336380261112958081980797681549397669735133013440572313861110974446761201758583236636480294456121543417417068459631705192799345307341778241826412212376737953176117307839954716897361043070782489875885303752563281566527448552686264308553159983141631165399210189847917112875638214665345134904767117069126099255619603448829048326694912412287567891687670819258973037556229162542538088843615579428271324262155837914966458553049662954050656415026269052625561492133141267826306426425779203092713091968650874438650 E-2034174  
当a,b 在小于10^13内能快速计算出正确出结果,正是计算器的优势。

评分

参与人数 2鲜花 +7 收起 理由
郭先抢 + 1 小数点后有连续的接近两百多万位的零!这个 ...
wayne + 6 有意思

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-16 09:04:26 | 显示全部楼层
92# 云梦
当a,b 在小于10^13内能快速计算出正确出结果,正是计算器的优势。


有点吃惊,你的计算器还能算这种极度病态的题。
里面的算法不大可能是普适的吧?
我怀疑是定制的,呵呵

=======
极度病态这个词,是一科学术语,我怕有人理解成带感情色彩的那种了。
是指牵涉的数值的数量级差别很大,以至于普通的数值算法都失效
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-16 09:09:35 | 显示全部楼层
是的,计算器计算输出结果范围是10^(10^-16)~10^(10^16),但不存在病态。最大有效精度设置为1024位,更多的我也不需要了。内部常数均为2048位。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-16 09:22:20 | 显示全部楼层
计算器操作过程很简单:
π "STO" A
199298 "STO" B
"3nd"  " F(x)"
完毕。

STO 是寄存器存储键
3nd 是第三档函数
F(x) 是这个方程的求解
如果结果表达为x.xxxxxxxxxxxxxxxxxx形式,可以直接进行验算。
验算操作:
0  "x,y"  x  "F(x)"
0 代表验算模式,1代表求解模式。
"x,y" 多参数输入时的分割标识。
x为要验算的数据。可以实现把x存在寄存器内(C~Z),A和B已被占用。也可以采用粘贴的方法,输入到计算器。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-16 09:24:24 | 显示全部楼层
是不是很简单?对于常用的东西都可以实现变成程序,加到计算器里,只要安排个按键就可以了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-16 13:08:06 | 显示全部楼层
92# 云梦


我还是对你的计算结果怀疑,因为我觉得不可能有那么多连续的零在一起的!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-16 14:08:22 | 显示全部楼层
92# 云梦


我还是对你的计算结果怀疑,因为我觉得不可能有那么多连续的零在一起的!
郭先抢 发表于 2013-1-16 13:08

怀疑是对的,没有怀疑就没有进取。不要照搬、模仿,更不要相信一切。自己去尝试,去验证,才最终能信服。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-16 17:34:09 | 显示全部楼层
对于a,b数值较大时可以用近似的方法,这个结果是正确的,不过在精度范围内数值有误。正确结果是:
199298.  +  3.3700080336380261112958081980797681549397669735133013440572313861110974446761201758583236636 ...
云梦 发表于 2013-1-16 08:54

这个结果同我的完全一致呀。
其实很容易估计,只要上面的差值很小的情况下,我上面的方法精度会非常高。
当然,如果差值不是很小的情况,那么就需要泰勒展开再取几项高阶误差即可。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-16 17:35:02 | 显示全部楼层
92# 云梦


有点吃惊,你的计算器还能算这种极度病态的题。
里面的算法不大可能是普适的吧?
我怀疑是定制的,呵呵

=======
极度病态这个词,是一科学术语,我怕有人理解成带感情色彩的那种了。
是指牵涉 ...
wayne 发表于 2013-1-16 09:04

感觉是特殊问题特殊处理,不可能处理一般情况
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2019-9-19 12:15 , Processed in 0.064453 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表