固定小数点データの表示
Fixed-Point Designer™ ソフトウェアでは、fipref オブジェクトによって fi オブジェクトの表示プロパティが決まります。コード例では通常、次の fipref オブジェクト プロパティを使用して fi オブジェクトを表示します。
NumberDisplay—'RealWorldValue'NumericTypeDisplay—'full'FimathDisplay—'full'
'FimathDisplay' を 'full' に設定すると、ローカル fimath をもつ fi オブジェクトと既定の fimath に関連付けられている fi オブジェクトを簡単に区別できます。'FimathDisplay' を 'full' に設定すると、MATLAB® はローカル fimath をもつ fi オブジェクトの fimath オブジェクト プロパティを表示します。既定の fimath に関連付けられている fi オブジェクトの fimath オブジェクト プロパティは、MATLAB では表示されません。この表示の違いにより、出力結果を見るだけで fi オブジェクトがどのような場合に既定の fimath と関連付けられているかどうかが判断できます。
また、特に明記していない限り、Fixed-Point Designer ドキュメンテーションの例では fimath に以下の既定の構成を使用しています。
RoundingMethod: Nearest
OverflowAction: Saturate
ProductMode: FullPrecision
SumMode: FullPrecision
表示設定の詳細は、fipref を使用した fi オブジェクトの表示基本設定を参照してください。
fi オブジェクトの fimath プロパティの表示
多くの Fixed-Point Designer コード例で出力をそのとおりに表示するには、fipref プロパティを次のように設定し、fi オブジェクトを 2 個作成します。
p = fipref('NumberDisplay','RealWorldValue',... 'NumericTypeDisplay','full','FimathDisplay','full'); a = fi(pi,'RoundingMethod','Floor','OverflowAction','Wrap') b = fi(pi)
MATLAB は、以下を返します。
a =
3.1415
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13
RoundingMethod: Floor
OverflowAction: Wrap
ProductMode: FullPrecision
SumMode: FullPrecision
b =
3.1416
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13a にはローカル fimath があるため、MATLAB は fi オブジェクト a の出力に fimath オブジェクト プロパティを表示します。
b は既定の fimath に関連付けられるため、MATLAB は fi オブジェクト b の出力に fimath オブジェクト プロパティを表示しません。
fi オブジェクトの fimath プロパティの非表示
ローカル fimath をもつ複数の fi オブジェクトを使用している場合は、fimath オブジェクトを非表示にすることもできます。
NumberDisplay—'RealWorldValue'NumericTypeDisplay—'full'FimathDisplay—'none'
以下に例を示します。
p = fipref('NumberDisplay','RealWorldValue',... 'NumericTypeDisplay','full','FimathDisplay','none')
p =
NumberDisplay: 'RealWorldValue'
NumericTypeDisplay: 'full'
FimathDisplay: 'none'
LoggingMode: 'Off'
DataTypeOverride: 'ForceOff'F = fimath('RoundingMethod','Floor','OverflowAction','Wrap'); a = fi(pi, F)
a =
3.1415
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13この設定では生成される出力の量を減らすことができますが、fi オブジェクトが既定の fimath を使用しているかどうかは出力から判断できません。その場合は、関数 isfimathlocal を使用します。以下に例を示します。
isfimathlocal(a)
ans = logical 1
関数 isfimathlocal が 1 を返す場合、fi オブジェクトにはローカル fimath があります。関数が 0 を返す場合、fi オブジェクトは既定の fimath を使用しています。
fi オブジェクトの numerictype 表示の短縮
出力の量をさらに減らすには、NumericTypeDisplay を 'short' に設定します。以下に例を示します。
p = fipref('NumberDisplay','RealWorldValue',... 'NumericTypeDisplay','short','FimathDisplay','full'); a = fi(pi)
a =
3.1416
numerictype(1,16,13)