找回密码
 欢迎注册
楼主: chyanog

[提问] 求一个递推关系或通项公式

[复制链接]
发表于 2012-9-20 08:12:19 | 显示全部楼层
=1.4331943620781083753346732565509231376521691611919112948430331089414491961400434232721571283018940583585082186363063024660714185......
F1(x).JPG
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-20 11:35:07 | 显示全部楼层
  1. def T(n):
  2. if n<2:
  3. print "n should be at least 1."
  4. return 0
  5. else:
  6. s=n**(1.0/n)
  7. while n>2:
  8. s=(s+n-1.0)**(1.0/(n-1))
  9. n=n-1
  10. return s
  11. for i in range(2,14):
  12. print T(i)
复制代码
1.4142135623730951454746218587388284504413604736328125 1.8553300434983013289524933497887104749679565429687500 1.9079845676546838273424100407282821834087371826171875 1.9114830405608116414839514618506655097007751464843750 1.9116344967740706017877982958452776074409484863281250 1.9116391103898717762632486483198590576648712158203125 1.9116392144179301659789871337125077843666076660156250 1.9116392162208171168202852641115896403789520263671875 1.9116392162455468906046007759869098663330078125000000 1.9116392162458217818254979647463187575340270996093750 1.9116392162458242243161521400907076895236968994140625 1.9116392162458242243161521400907076895236968994140625 收敛得相当快
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-21 08:56:27 | 显示全部楼层
12# BeerRabbit 这是python代码吧,精彩! 一直没深入学习这门语言. 不知道python 怎么控制浮点数的输出保留的的位数精度
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-21 09:36:38 | 显示全部楼层
13# wayne 实际上最后的那个输出语句是编辑之前的,输出上面结果的应该是: for i in range(2,14): print "%.52f" % T(i) 和c、matlab控制格式的方法差不多

评分

参与人数 1经验 +2 鲜花 +2 收起 理由
wayne + 2 + 2 多谢

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-9-21 10:16:09 | 显示全部楼层
13# wayne 根据测试,
  1. import math
  2. print '%.50f'%math.pi
  3. print '%.50f'%math.sin(1)
复制代码
Output: 3.14159265358979311599796346854418516159057617187500 0.84147098480789650487565722869476303458213806152344 虽然输出了50位,但和Mathematica的并不同,看来精度是16位的, 要用高精度,可以使用内置的decimal模块,或者sympy、mpmath库, 如
  1. from sympy import *
  2. print N(pi,50)
  3. print N(sin(1),50)
复制代码
这样就可Mathematica的一致了 其实python标准库中fractions是支持分数运算的

评分

参与人数 1经验 +2 鲜花 +2 收起 理由
wayne + 2 + 2 我在linux下经常安装simpy ,却从未使用,。 ...

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-21 13:37:49 | 显示全部楼层
先回应一下5层,呵呵。
  1. Last[Nest[{First[#]-1,(Last[#]+First[#])^(1/First[#])}&,{10,0},10-1]]//TraditionalForm
复制代码
可以提出一个问题,就是当那个1993趋于无穷时,表达式是多少?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-9-21 15:24:31 | 显示全部楼层
16# zgg___ 谢谢你提供的这种方法。我感觉Mathematica中Fold一般都可以替代Nest的。 另外,不太明白你问的意思啊,我还很好奇如何用RecurrenceTable写出来
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-21 15:51:09 | 显示全部楼层
17# chyanog FoldList ,NestList,以及 RecurrenceTable 的操作对象都各不相同的。 ================= zgg说的是 求表达式的极限
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-9-21 16:36:28 | 显示全部楼层
18# wayne 是的,不过要达到同样的目的,不少时候Fold,Nest都能做到
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-21 17:36:55 | 显示全部楼层
19# chyanog RecurrenceTable 处理的是一阶逻辑范畴的对象。 Fold,Map处理的是高阶逻辑范畴的对象。 http://en.wikipedia.org/wiki/Fold_%28higher-order_function%29 http://en.wikipedia.org/wiki/Map_%28higher-order_function%29 本题应该使用函数复合之类的运算, 比如Composition 函数
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-23 17:05 , Processed in 0.028535 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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