*17.7 有理近似 [#s14f07c8] : 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.