ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

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 を使用したデータの量子化について説明します。

例 1 - カスタム精度浮動小数点

次のコードは、以下の図に示すプロットを作成します。

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 overflows.

例 2 - 固定小数点

次のコードは、以下の図に示すプロットを作成します。

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 overflows. 

参考

| | | |

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