2011-01-20 15 views
3

与えられた実数と固有の最大分母を最良の近似分数/有理数を整数として求めたい場合、mathematicaでこれを行う方法は?どうもありがとう。mathematicaで実数の最良近似分数を得る方法

+1

連続した小数表現の収束は、実数の連続したより良い近似を与えます。 – DavidC

答えて

3

Rationalizeのヘルプをご覧ください。 RootApproximantも有用であり得る。

4

Convergentscontinued fractionsは、非合理的な数のより良好な分数表現を得るための有用な方法を提供する。私はまた、Euclidean algorithmの方法で他のアイデアへのつながりを理解するのに役立つことも発見しました。

収束点を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"}}]] 

のは、パイのための最初の8 convergentsです:

approximate[Sqrt[2]] 

approximate root 2

:ここで

approximate[Pi] 

approximate pi

Sqrt[2]のための最初の8 convergentsです

コンバージェンスが進むにつれて、連続する誤差項が縮小し、交互になります。

approximateには、必要に応じて収束と精度の数を指定できます。

お楽しみください。ここで


は、いくつかの素敵なデモンストレーションを含む連分数に関するいくつかの追加documentationです。

+1

@Qiang Liここでは、非合理的な数のホーミングを行うコンバージェントの例を示します。デカルト平面には幾つか興味深い幾何学的表現があります。こちらもご覧ください:[継続分数](http://mathworld.wolfram.com/ContinuedFraction.html) – DavidC

+0

ありがとうございます。 'ContinuedFraction'はこの問題に対する素晴らしいアプローチです。 –

+0

+1ニース、デビッド。 –

関連する問題