如果我想获得给定实数的最佳近似分数/理性,并将特定的最大分母作为整数,如何在mathematica中执行此操作?非常感谢。
答案 0 :(得分:4)
让我们使用收敛来近似pi和2的平方根。
ClearAll[approximate];
approximate[r_, nConvergents_: 8, precision_: 10] :=
With[{c = Convergents[ContinuedFraction[r, nConvergents]]},
TableForm[Transpose[{c, N[r - c, precision]}],
TableHeadings -> {None, {Row[{"approximation of ", r}], "error"}}]]
以下是pi的前8个收敛点:
approximate[Pi]
以下是Sqrt[2]
的前8个收敛点:
approximate[Sqrt[2]]
随着收敛的进展,连续的误差项缩小和交替方向。
在approximate
中,您可以选择指定收敛数和所需精度。
享受。
这里有一些关于连续分数的额外documentation,包括一些可爱的演示。
答案 1 :(得分:3)
查看Rationalize
的帮助。 RootApproximant
也很有用