Main Content

rats

説明

S = rats(X) は、X の要素の有理近似を含む文字ベクトルを返します。アスタリスクは割り当てられたスペース内に表示できないが、X の他の要素と比較して無視できない要素を示します。

S = rats(X,strlen) は、有理近似に使用される文字ベクトルの長さを指定します。実数入力の場合、strlength(S)strlen+1 と等しく、複素数入力の場合、2*strlen+3 と等しくなります。アルゴリズムの節で説明するように、有理近似では指定された長さに反比例する許容誤差を使用します。

すべて折りたたむ

4 行 4 列の行列を作成します。

format short
X = hilb(4)
X = 4×4

    1.0000    0.5000    0.3333    0.2500
    0.5000    0.3333    0.2500    0.2000
    0.3333    0.2500    0.2000    0.1667
    0.2500    0.2000    0.1667    0.1429

rats を使用して行列の有理数表現を表示します。結果は format rat を使用した場合と同じになります。

R = rats(X)
R = 4x56 char array
    '       1            1/2           1/3           1/4     '
    '      1/2           1/3           1/4           1/5     '
    '      1/3           1/4           1/5           1/6     '
    '      1/4           1/5           1/6           1/7     '

既定の文字ベクトルの長さと近似許容誤差を使用して、pi の有理数表現を求めます。結果は format rat を使用した場合と同じになります。

rats(pi)
ans = 
'    355/113   '

出力の長さを調整します。これにより、近似許容誤差も調整されます。

rats(pi,20)
ans = 
'    104348/33215     '

その結果として有理近似の精度が向上します。出力の長さが大きくなるほど、許容誤差が小さくなります。

さらに精度を高めるために出力の長さをもう一度調整します。

rats(pi,25)
ans = 
'      1146408/364913      '

結果の近似は pi と小数点以下 10 桁まで一致します。

入力引数

すべて折りたたむ

入力配列。クラス single または double の配列として指定します。

データ型: single | double
複素数のサポート: あり

文字ベクトルの長さ。正の整数として指定します。指定する文字ベクトルの長さは、有理近似がどの程度正確であるかを制御します。文字ベクトルが長いほど、有理近似の精度が高まります。

既定の長さである 13 では、実数入力の場合は長さが strlen+1 の文字ベクトルを生成し、複素数入力の場合は長さが 2*strlen+3 の文字ベクトルを生成します。

アルゴリズム

rats[N,D] = rat(X,tol) で有理近似を求めます。ここで tolmin(10^(-(strlen-1)/2)*norm(X(isfinite(X)),1),.1) です。このように、許容誤差は出力の長さ strlen に反比例します。

拡張機能

バージョン履歴

R2006a より前に導入

参考

|