このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
fixptbestprec
値を固定小数点で表現する際に可能な最高精度の導出
構文
out = fixptbestprec(RealWorldValue,TotalBits,IsSigned)
out = fixptbestprec(RealWorldValue,FixPtDataType)
説明
out = fixptbestprec(RealWorldValue,TotalBits,IsSigned)
は、RealWorldValue
で指定された実際の値を固定小数点で表現する際の最高の精度を求めます。固定小数点数のビット数を TotalBits
で指定し、固定小数点数に符号を付けるかどうかを IsSigned
で指定します。IsSigned
が 1
の場合は数値に符号が付けられ、IsSigned
が 0
の場合は数値に符号が付けられません。最高精度は、out
に設定されて返されます。
out = fixptbestprec(RealWorldValue,FixPtDataType)
は、FixPtDataType
で指定されたデータ型に基づいて最高の精度を求めます。
例
例 1
次のコマンドは、実際の値 4/3 を符号付き 8 ビット数を使用して表現する場合の最高精度を返します。
out = fixptbestprec(4/3,8,1)
out = 0.015625
また、次のように固定小数点データ型を指定することもできます。
out = fixptbestprec(4/3,sfix(8))
out = 0.015625
この値は、2-6 が 0.015625 に等しいことから、2 進小数点の右側に 6 つのビットがあると、4/3 に対して最高精度が得られることを示します。
01.010101
例 2
最高精度の値を、固定小数点ブロックでスケーリングとして使用することができます。このため、シミュレーションの既知の範囲を指定したい場合に、fixptbestprec
を使用してオートスケーリングのタイプを実行することができます。たとえば、既知の範囲が -13 ~ 22 であり、30% の安全マージンを使用する場合は、次のようになります。
knownMax = 22; knownMin = -13; localSafetyMargin = 30; slope = max( fixptbestprec( (1+localSafetyMargin/100)* ... [knownMax,knownMin], sfix(16) ) );
ブロック マスクの中で Output data type パラメーターに変数 slope
を使用することができます。固定小数点ツールがスケーリングをオーバーライドしないように、同じブロックで必ず [固定小数点ツールによる変更に対して出力データ型の設定をロックする] チェック ボックスをオンにしてください。範囲がわかっている場合は、autofixexp
(Fixed-Point Designer) に示されているように、モデル シミュレーションに基づいてオートスケーリング ツールに与える範囲を指定する代わりに、この方法を使用することができます。
バージョン履歴
R2006a より前に導入