悠闲数学娱乐论坛(第2版)'s Archiver

青青子衿 发表于 2019-8-6 14:07

限定分母最接近某个无理数的既约分数

[i=s] 本帖最后由 青青子衿 于 2019-8-6 14:21 编辑 [/i]

[code]M = 20;
Table[Nearest[1/i*Select[Range[i], GCD[#, i] == 1 &],
    1/Sqrt[5]], {i, 2, M}] // Flatten
Nearest[Flatten[
  Table[Nearest[1/i*Select[Range[i], GCD[#, i] == 1 &],
    1/Sqrt[5]], {i, 2, M}]], 1/Sqrt[5]]
Table[
   Nearest[Flatten[
      Table[Nearest[1/i*Select[Range[i], GCD[#, i] == 1 &],
      1/Sqrt[5]], {i, 2, k}]], 1/Sqrt[5]], {k, 2, M}] // Flatten
[/code]

色k 发表于 2019-8-6 14:17

这种一般我都是用连分数来搞:
Table[FromContinuedFraction[ContinuedFraction[1/Sqrt[5], n]], {n, 5}]
输出 {0, 1/2, 4/9, 17/38, 72/161}

青青子衿 发表于 2019-8-6 14:23

[b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=33110&ptid=6445]2#[/url] [i]色k[/i] [/b]
但是我想要得到  满足条件且关于自然数作分母的“既约分数”列呀{:lol:}
“既约分数”就是“最简分数”

kuing 发表于 2019-8-6 17:12

[b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=33111&ptid=6445]3#[/url] [i]青青子衿[/i] [/b]

没懂,能不能将问题完事地描述一下。

青青子衿 发表于 2019-8-6 22:04

[b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=33116&ptid=6445]4#[/url] [i]kuing[/i] [/b]
比如下列这些分数就是既约分数
\begin{align*}
\dfrac{1}{2}&&\\
\\
\dfrac{1}{3}&&\dfrac{2}{3}\\
\\
\dfrac{1}{4}&&{}&&\dfrac{3}{4}\\
\\
\dfrac{1}{5}&&\frac{2}{5}&&\dfrac{3}{5}&&\dfrac{4}{5}\\
\\
\dfrac{1}{6}&&{}&&{}&&{}&&\dfrac{5}{6}\\
\end{align*}
然后找每一行(注意是按行找)最接近\(\,\dfrac{1}{\sqrt5}\,\)的分数
然后列出这样的序列:1/2, 1/3, 1/4, 2/5, 1/6, 3/7, 3/8, 4/9, 3/10, ……

色k 发表于 2019-8-6 22:17

[b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=33121&ptid=6445]5#[/url] [i]青青子衿[/i] [/b]

这样说就清楚了,关键就是这个“找每一行(注意是按行找)”,我当时就是没看出这一点,以为是找逼近数列之类的东西

kuing 发表于 2019-8-7 02:21

顺便记录一个,利用 FareySequence[n],就是 [0,1] 内的分母不超过 n 的既约分数由小于大的排列。
Nearest[FareySequence[20], 1/Sqrt[5]]
输出 {4/9} ,就是分母不超过 20 的最接近 `1/\sqrt5` 的既约分数。
Nearest 还可以再多一个参数,如
Nearest[FareySequence[20], 1/Sqrt[5], 3]
则列出的是最接近的 3 个 {4/9, 9/20, 5/11} ,由近到远。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.