このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
vpa
可変精度の演算 (任意精度の演算)
説明
例
入力引数
出力引数
ヒント
vpa
は分数の指数を浮動小数点に変換しません。たとえば、vpa(a^sym(2/5))
はa^(2/5)
を返します。vpa
は、digits
によって指定される桁数よりも多くの桁数を使用します。この追加の桁数は、その後の計算を丸め誤差から守ります。これはガード桁と呼ばれます。vpa
を1/3
、2^(-5)
、sin(pi/4)
などの数値入力に対して呼び出すとき、数値式は丸め誤差を含む倍精度の数値に評価されます。次に、vpa
がその倍精度の数値に対して呼び出されます。より正確な結果を得るために、sym
で数値式をシンボリック式に変換します。たとえば、exp(1)
を近似するには、vpa(exp(sym(1)))
を使用します。2 番目の引数
d
が整数でない場合、vpa
はround
を使用して引数を最も近い整数に丸めます。vpa
は p/q、pπ/q、(p/q)1/2、2q および 10q という形式に一致する数値入力の精度を復元します。ここで、p および q は適度なサイズの整数です。可変精度演算は、以下の点において IEEE® の浮動小数点規格 754 と異なります。
計算の中で、ゼロ除算はエラーをスローします。
指数範囲は事前定義されたどの IEEE モードよりも広いです。
vpa
はおよそ10^(-323228496)
までアンダーフローします。非正規化された数値は実装されていません。
ゼロは符号が付きません。
結果の仮数内の "2" 進数の数は、可変精度演算と IEEE の事前定義された型とで異なることがあります。
NaN
がただ 1 つ存在します。クワイエットとシグナリングのNaN
の違いは識別されません。浮動小数点数の例外は使用できません。