MATLAB ヘルプ センター
fixed.Quantizer オブジェクトを使用した fi の値の量子化
fixed.Quantizer
fi
quantize および fixed.Quantizer は推奨されません。代わりに cast、zeros、ones、eye、または subsasgn を使用してください。詳細については、互換性の考慮事項を参照してください。
quantize
cast
zeros
ones
eye
subsasgn
y = quantize(q,x)
y = quantize(q,x) は、fixed.Quantizer オブジェクト q を使用して x を量子化します。x には、ブール値以外の任意の固定小数点 fi 数を指定できます。
y
q
x
x がスケーリングされた double の場合、出力 y のデータは入力 x のデータと同じになります。y の固定小数点設定のみが変わります。
x が double または single の場合、y = x です。この機能により、量子化器が存在する場合、浮動小数点データ型と固定小数点 fi データ型の両方で同一のコードを共有できます。
例
すべて折りたたむ
fixed.Quantizer を使用して、2 つの固定小数点数の加算結果によって生じた語長を短くします。
q = fixed.Quantizer x1 = fi(0.1,1,16,15); x2 = fi(0.8,1,16,15); y = quantize(q,x1+x2)
q = fixed.Quantizer with properties: Signed: 1 WordLength: 16 SlopeAdjustmentFactor: 1 FixedExponent: -15 Bias: 0 Signedness: 'Signed' Slope: 3.0518e-05 FractionLength: 15 RoundingMethod: 'Floor' OverflowAction: 'Wrap' y = 0.9000 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 15
fixed.Quantizer オブジェクトを使用して、2 進小数点でスケーリングされた固定小数点 fi を傾きとバイアスでスケーリングされた固定小数点 fi に変更します。
x = fi(pi,1,16,13) q = fixed.Quantizer(numerictype(1,7,1.6,0.2),'Round','Saturate') y = quantize(q,x)
x = 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13 q = fixed.Quantizer with properties: Signed: 1 WordLength: 7 SlopeAdjustmentFactor: 1.6000 FixedExponent: 0 Bias: 0.2000 Signedness: 'Signed' Slope: 1.6000 FractionLength: 0 RoundingMethod: 'Round' OverflowAction: 'Saturate' y = 3.4000 DataTypeMode: Fixed-point: slope and bias scaling Signedness: Signed WordLength: 7 Slope: 1.6 Bias: 0.2
量子化に使用するデータ型プロパティ。fixed.Quantizer オブジェクトとして指定します。
量子化するデータ。fi オブジェクトとして指定します。
データ型: fi
すべて展開する
quantize および fixed.Quantizer は推奨されません。代わりに cast、zeros、ones、eye、または subsasgn を使用してください。fixed.Quantizer を削除する予定はありません。
R2013a 以降では、代わりに cast、zeros、ones、eye、または subsasgn を使用してください。関数 cast、zeros、ones、eye、および subsasgn では、fi オブジェクトに加え、他のデータ型にも量子化できます。
非推奨
推奨
x = fi(pi,1,16,13); q = fixed.Quantizer(numerictype(1,7,1.6,0.2),'Round','Saturate'); y = quantize(q,x)
y = 3.4000 DataTypeMode: Fixed-point: slope and bias scaling Signedness: Signed WordLength: 7 Slope: 1.6 Bias: 0.2
x = fi(pi,1,16,13); F = fimath('RoundingMethod','Round','OverflowAction','Saturate'); nt = fi([],1,7,1.6,0.2,F); y = cast(x,'like',nt)
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ