Fortran Coder

查看: 7827|回复: 6
打印 上一主题 下一主题

[微积分] 用泰勒展开式计算E**x的值

[复制链接]

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

楼主
发表于 2014-11-26 09:19:13 | 显示全部楼层
本帖最后由 楚香饭 于 2014-11-26 09:28 编辑

分子分母都趋于无穷大,分母具有更高阶的无穷大,这种时候你可以用一个临时变量来取其商。例如下面代码的 t,同时还可以避免 x**i 和阶乘。
[Fortran] 纯文本查看 复制代码
Program main
  Implicit None
  real x,s,t
  integer n
  integer i
  read(*,*) n
  read(*,*) x  
  t = x
  s = x + 1
  Do i=2,n
    t = t*x/i
    s = s + t
  End Do  
  write(*,*) s
End Program main

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2014-11-26 22:08:23 | 显示全部楼层
爷且无辜 发表于 2014-11-26 16:42
楼主这个代码运行速度不如“楚香饭”(这个人貌似是坛主??!!)这个代码,楼主这个代码对之前计算结果的 ...

幸会幸会,我就是坛主。咳,不好意思老用管理员账号....让人看了有点疏远的感觉,所以有个普通号
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-7 05:32

Powered by Tencent X3.4

© 2013-2024 Tencent

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