找回密码
 欢迎注册
查看: 15534|回复: 5

[原创] 祖之冲是如何发现密率的之我见

[复制链接]
发表于 2018-8-30 09:12:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
有人说祖冲之是使用连分数发现密率的,可是我觉得这可能不是真的,
既然祖冲之已经计算出了圆周率的好几位小数,完全可以用穷举法来得到密率,
具体代码见下面:

  1. (*祖冲之得到密率*)
  2. Clear["Global`*"];(*Clear all variables*)
  3. (*生成分母不大于500以内所有可能的分数*)
  4. aa=Union@Flatten@Table[{IntegerPart[Pi*n]/n,(IntegerPart[Pi*n]+1)/n},{n,1,500}]
  5. (*把这些分数按照与pi的远近,从小到达排序,第一个数就是密率*)
  6. bb=Sort@Map[Abs[#-Pi]&,aa]
  7. bb[[1;;10]]

复制代码


我觉得就是穷举法,没有任何神秘的地方,大家觉得呢?
\[\left\{\frac{355}{113}-\pi ,\frac{1442}{459}-\pi ,\frac{1087}{346}-\pi ,\frac{732}{233}-\pi ,\frac{1109}{353}-\pi ,\frac{1486}{473}-\pi ,\frac{377}{120}-\pi ,\frac{1530}{487}-\pi ,\frac{1153}{367}-\pi ,\frac{776}{247}-\pi \right\}\]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-8-30 10:34:11 | 显示全部楼层
Union@@Table[{Floor[Pi n], Ceiling[Pi n]}/n-Pi, {n,500}] // TakeSmallestBy[Abs, 10]

点评

你的mathematica水平很高,比我强很多  发表于 2018-9-1 15:32
我的签名:强烈反对没注释没缩进且多层嵌套的一行mathematica代码!  发表于 2018-8-30 14:43
你是来秀代码的!  发表于 2018-8-30 14:11
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-9-4 13:55:32 | 显示全部楼层
感觉是连分数
j=20
ContinuedFraction[Pi, j]
FromContinuedFraction[ContinuedFraction[Pi, j]]
j每增加1都可以得到一个更好的逼近

当然似乎那年代,连分数不叫连分数,叫“调日法”
百度百科:何承天调日法被同时代和后代数学家如赵爽,祖冲之,一行等运用。
不保证百度百科真实性,但这句话应该没问题,至少祖冲之是知道连分数逼近的,否则他也不会写成22/7这个数字
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-21 20:38 , Processed in 0.022419 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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