固定小数点データの表示
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: 13
a
にはローカル 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)