17.7 Rational Approximations

Last-modified: 2025-03-02 (日) 20:02:33

17.7 有理近似

: s = rat (x)
: s = rat (x, tol)
: [n, d] = rat (…)

tolで定義された許容値内で xの有理近似値を見つけます。

指定しない場合、デフォルトの許容値は です。 1e-6 * norm (x(:), 1)

1 つの出力引数で呼び出されると、連分数展開 (複数の項) を含む文字列を返します。

2 つの出力引数を指定して呼び出されると、 xの分数表現の分子と分母の数値行列を返します。 x = n ./ d

例えば:

s = rat (pi)
⇒ s = 3 + 1/(7 + 1/16)
[n, d] = rat (pi)
⇒ n =  355
⇒ d =  113
n / d - pi
⇒ 0.00000026676

プログラミング ノート: 出力が 1 つの場合、rat連分数展開の文字列が生成されます。単純な分数 (分子が 1 つ、分母が 1 つ) の文字列を生成するには、 を使用しますrats。

See also: rats, format.

: s = rats (x)
: s = rats (x, len)

x を文字列として表される有理近似値に 変換します。

浮動小数点数の有理数近似は、分子がN、分母がDで ある単純な分数です。 x = N/D

オプションの 2 番目の引数は、 xの要素を表す文字列の最大長を定義します。デフォルトでは、lenは 13 です。

最小の有理近似値の長さが len を超える場合は、代わりにスペースで埋められたアスタリスク (*) が返されます。

行列から文字列への変換、およびその逆の変換の例。

r = rats (hilb (4));
x = str2num (r)

See also: rat, format.