Main Content

quantize

数値データ型の範囲への区間の量子化

R2019b 以降

説明

quantizedinterval = quantize(interval, numerictype) は、numerictype で指定された数値型に量子化された、fixed.Interval オブジェクトの量子化された範囲 interval を返します。

quantizedinterval = quantize(interval, numerictype, Name,Value) は、名前と値のペアとして指定された追加のプロパティで、fixed.Interval オブジェクトの量子化された範囲 interval を返します。

すべて折りたたむ

fixed.Interval オブジェクトを作成し、符号なしの 8 ビット整数に量子化された Interval オブジェクトの範囲を検出します。

interval = fixed.Interval(-200,200);
quantizedInterval = quantize(interval, 'fixdt(0,8,0)')
quantizedInterval =

  1×2 uint8 row vector

     0   200

fixdt(0,8,0)uint8 と同等なので、関数 quantize は数値型の表現可能な範囲内の端点を使用して uint8 行ベクトルとして量子化された範囲を返します。

量子化された行ベクトルを固定小数点データ型として返すには、'PreferBuiltIn' プロパティを false に設定します。

quantizedInterval = quantize(interval, 'fixdt(0,8,0)',...
 'PreferBuiltIn', false)
quantizedInterval = 

     0   200

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 8
        FractionLength: 0

入力引数

すべて折りたたむ

入力 fixed.Interval オブジェクト。fixed.Interval オブジェクト、または fixed.Interval オブジェクトの配列として指定します。

Interval を量子化する数値データ型。Simulink.Numerictype オブジェクト、embedded.numerictype オブジェクト、または 'single' などの数値データ型を表す文字ベクトルとして指定します。

例: quantizedinterval = quantize(interval, 'fixdt(1,16,8)');

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: interval = quantize(interval, 'fixdt(1,16,0)', 'PreferBuiltIn', false, 'PreferStrict', true);

このプロパティが true のとき、指定された numerictype に同等の組み込み整数型がある場合、組み込み型が返されます。たとえば、このプロパティが true の場合、'fixdt(1,8,0)' の指定された numerictypeint8 を返します。

データ型: logical

このプロパティが true の場合、区間が閉じているか開いているかに関係なくすべての端点は元の区間内で最も近い表現可能な値に量子化されます。

データ型: logical

出力引数

すべて折りたたむ

numerictype で指定された数値データ型に量子化される入力 Interval オブジェクトの端点で構成される行をもつ N 行 2 列の行列。

'PreferStrict' プロパティが false に設定される場合、量子化後の端点は元の区間外に置かれる可能性があります。

バージョン履歴

R2019b で導入