ドキュメンテーション

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

quantize メソッド

データに quantizer オブジェクトを適用します。

構文

y = quantize(q, x)
[y1,y2,...] = quantize(q,x1,x2,...)

説明

y = quantize(q, x)quantizer オブジェクト q を使用して x を量子化します。x が数値配列の場合、x の各要素が量子化されます。x がセル配列の場合、セル配列の各数値要素が量子化されます。x が構造体の場合、x の各数値フィールドが量子化されます。量子化は x の数値以外の要素やフィールドを変更せず、数値以外の値に対して警告も表示しません。出力 y は組み込み double です。入力 x が構造体またはセル配列の場合、y のフィールドは組み込み double です。

[y1,y2,...] = quantize(q,x1,x2,...) は、次の式と等価です。

y1 = quantize(q,x1), y2 = quantize(q,x2),...

quantizer オブジェクトの状態を以下に示します。

  • max — 量子化前の最大値

  • min — 量子化前の最小値

  • noverflows — オーバーフローの総数

  • nunderflows — アンダーフローの総数

  • noperations — 量子化演算の総数

これらの状態は quantize の呼び出し時に更新され、resetlog が呼び出されるまで実行総数が維持されます。

すべて折りたたむ

次の例では quantize を使用したデータの量子化について説明します。

u=linspace(-15, 15, 1000);
q=quantizer([6 3], 'float');
range(q)
ans =

   -14    14

y=quantize(q, u);
plot(u, y); title(tostring(q))
Warning: 68 overflow(s) occurred in the fi quantize operation. 

次の例では quantize を使用したデータの量子化について説明します。

u=linspace(-15, 15, 1000);
q=quantizer([6 2], 'wrap');
range(q)
ans =

   -8.0000    7.7500

y=quantize(q, u);
plot(u, y); title(tostring(q))
Warning: 468 overflow(s) occurred in the fi quantize operation. 

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