当前位置: 首页 > news >正文

网站后台如何上传文件怀柔网站整站优化公司

网站后台如何上传文件,怀柔网站整站优化公司,工商注册公司流程及费用,网页制作公司背景介绍摘要 阐述在使用 Python的 Decimal类时,可能产生的错误计算。 在 详述 BigDecimal 的错误计算 中,笔者较为详细地说明了 Java的 BigDecimal可能出错的原因。类似地,Python的 decimal模块中有个 Decimal类,也可用于高精度的十进制…

摘要  阐述在使用 Python的 Decimal类时,可能产生的错误计算。

       在 详述 BigDecimal 的错误计算 中,笔者较为详细地说明了 Java的 BigDecimal可能出错的原因。类似地,Python的 decimal模块中有个 Decimal类,也可用于高精度的十进制运算,并且能够避免由于浮点数表示不精确带来的精度问题。但是,相仿地,由于有一些参数要设置,所以亦会出现参数不同结果不一致现象。       

例1.  不妨重新讨论 计算机的错误计算(一百七十七)中多项式(稍作修改:将小数部分去掉,变成整数)。

已知

f(x)=134450\,x^{12}-31470000\,x^{11}+2030000\,x^{10}+1350000\,x^9+1680000\,x^8+1120000\,x^7+748000\,x^6+187000\,x^5+46800\,x^4-140\,x^2+7666044\,.

计算 f(234)\,.

       代码如下:

from decimal import Decimal, getcontext
base = Decimal(234) # 定义基数
terms = [ # 计算每一项Decimal(134450) * base ** 12,Decimal(-31470000) * base ** 11,Decimal(2030000) * base ** 10,Decimal(1350000) * base ** 9,Decimal(1680000) * base ** 8,Decimal(1120000) * base ** 7,Decimal(748000) * base ** 6,Decimal(187000) * base ** 5,Decimal(46800) * base ** 4,Decimal(-140) * base ** 2,Decimal(7666044)]
print(sum(terms)) # 计算总和,输出结果

这时,输出为 1381004:

然而,准确值是 204 .  因此,代码输出的是错误结果。 

例2.  用 Python的 Decimal编程计算 23.67^{65.5}-\textup{e}^{65.5\times\ln(23.67)}\,.

       代码如下(来源于一大模型):

from decimal import Decimal, getcontextgetcontext().prec = 50 # 设置精度,这里设置为50位小数base = Decimal('23.67') # 定义数值
exponent = Decimal('65.5')part1 = base ** exponent # 计算 23.67^65.5part2 = (exponent * base.ln()).exp() # 计算 exp(65.5 * ln(23.67))result = part1 - part2 # 计算差值print(result)

运行后,输出为 -1E+41(显然是错误结果。正确值是0): 

       另外,getcontext().prec 不同,那么输出也不同。

点评:

    (1)例1可以通过提高精度获得正确结果。

    (2)例2不行。

    (3)对于例1,虽然可以通过提高精度获得正确值,但是,用户不确定究竟 getcontext().prec 设为多少。只能是通过实验进行猜测。正像有学者评价数学软件一样:“The multiprecision ... in Mathematica and Maple is not very useful ..., because the working precision must be specified by the user and this naturally implies some guess work”[1]。

    (4)getcontext().prec 的默认值是28 .  因此,例1中所有运算的结果应该是保留28位十进制有效数字。  

参考文献

[1] Cuyt A, Verdonk B, Becuwe S, et al. A remarkable example of catastrophic cancellation unraveled. Computing, 2001, 66: 309–320

http://www.ds6.com.cn/news/9003.html

相关文章:

  • 如何迁移wordpress网站网站排名seo教程
  • 网站建设 南宁网站seo外包靠谱吗
  • 单页网站制作软件利尔化学股票股吧
  • 如何查询网站是不是诈骗网站乐陵seo外包
  • 建微信网站福州网站制作推广
  • 网站开发去哪里找工作b站引流推广网站
  • 轻饮食网络推广方案灰色行业seo
  • 公司网站建设意义高端网站定制
  • 做团建活动网站外链代发
  • 自助建站管理平台怎么创建网站免费建立个人网站
  • 网站建设专业公司哪家好国外免费域名申请
  • 网站建设服务包括什么百度推广代理公司哪家好
  • 做业务一般要注册哪些网站百度安装下载
  • 给网站栏目页做反链好吗seo外链资源
  • 做外贸网站一定要会英语吗seo引擎搜索网站
  • 郑州做网站网站建设费用网络营销技巧培训
  • 温州企业做网站做网络推广的公司
  • 机械营销型网站推广普通话手抄报内容文字
  • 建网站卖多少钱淘宝营销推广方案
  • 一级a做爰电影免费观看网站深圳品牌seo
  • 广州做手机网站建设无锡整站百度快照优化
  • 如何做网站不被坑百度引擎搜索入口
  • 安平百度做网站做一个网站要花多少钱
  • 网站建设需求信息搞一个公司网站得多少钱
  • 商城网站建设讯息网站排名优化首页
  • 做网站报价单海外网站推广的公司
  • 怎么找响应式网站互联网企业营销策略
  • 网站seo推广公司靠谱吗武汉网站推广
  • 有经验的企业做网站长沙在线网站的目标客户
  • 网站建设要哪些人不受国内限制的浏览器下载