ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

num2fixpt

数値を、指定した固定小数点データ型で表現可能な最近値に変換

構文

outValue = num2fixpt(OrigValue, FixPtDataType, FixPtScaling,
    RndMeth, DoSatur)

説明

num2fixpt(OrigValue, FixPtDataType, FixPtScaling, RndMeth, DoSatur) は、OrigValue を固定小数点データ型 FixPtDataType で表記できる最も近い値に変換した結果を返します。OrigValueoutValue はいずれも、double データ型です。以下の例に示すように、関数 num2fixpt を使って、数値を固定小数点データ型に変換することが原因で生じる量子化誤差を調べることができます。関数 num2fixpt の引数は、以下のとおりです。

OrigValue

固定小数点表現に変換される値。double データ型を使って指定されなければなりません。

FixPtDataType

OrigValue を変換するために使用される固定小数点データ型。

FixPtScaling

勾配または [勾配 バイアス] のいずれかの形式で出力をスケーリング。FixPtDataType は、sfix または ufix コマンドを使って、一般化された固定小数点データ型を指定しません。FixPtScaling は無視されます。

RndMeth

固定小数点データ型が、OrigValue を表現する精度を欠く場合に使用される丸め手法。float コマンドを使って FixPtDataType が固定小数点データ型を指定する場合、RndMeth は無視されます。有効な値は、ZeroNearestCeiling、または Floor (既定の設定) です。

DoSatur

アンダーフローやオーバーフローの発生時に、出力を、表現可能な最小値や最大値に飽和させるかどうかを指定します。float コマンドを使って FixPtDataType が固定小数点データ型を指定する場合、DoSatur は無視されます。有効な値は、on または off (既定の設定) です。

実際値 9.875 を、符号付き 8 ビット固定小数点数として表すことに関する量子化の効果を調べるものとします。コマンド

num2fixpt(9.875, sfix(8), 2^-1)

ans =

   9.50000000000000

では、勾配 2^-1 では 0.375 の量子化誤差があることがわかります。コマンド

num2fixpt(9.875, sfix(8), 2^-2)

ans =

   9.75000000000000

は、勾配 2^-2 では量子化誤差が 0.125 に減少することを示します。しかし、次のコマンドで使用されている勾配 2^-3 では、

num2fixpt(9.875, sfix(8), 2^-3)

ans =

   9.87500000000000

量子化誤差は完全になくなります。

R2006a より前に導入

この情報は役に立ちましたか?