rats
有理数の出力
説明
例
行列の有理数表現
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 桁まで一致します。
入力引数
X
— 入力配列
配列
入力配列。クラス single
または double
の配列として指定します。
データ型: single
| double
複素数のサポート: あり
strlen
— 文字ベクトルの長さ
13
(既定値) | 正の整数
文字ベクトルの長さ。正の整数として指定します。指定する文字ベクトルの長さは、有理近似がどの程度正確であるかを制御します。文字ベクトルが長いほど、有理近似の精度が高まります。
既定の長さである 13 では、実数入力の場合は長さが strlen+1
の文字ベクトルを生成し、複素数入力の場合は長さが 2*strlen+3
の文字ベクトルを生成します。
アルゴリズム
rats
は [N,D] = rat(X,tol)
で有理近似を求めます。ここで tol
は min(10^(-(strlen-1)/2)*norm(X(isfinite(X)),1),.1)
です。このように、許容誤差は出力の長さ strlen
に反比例します。
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)