How is a parameter's data type determined when it is set to "inherit via internal rule" in Simulink 7.4 (R2009b)?
22 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2010-1-8
编辑: MathWorks Support Team
2019-4-22
I have a simple Gain block attached to an input port. I notice that the data type of the Gain parameter is set to "inherit via internal rule"
When I pass an integer to a Gain block with a Gain value of '1.1' Simulink generates the following warning:
Warning: Parameter precision loss occurred for 'Gain'. The parameter's value cannot be represented exactly using the run-time data type. A
small quantization error has occurred. You can control this diagnostic on the Diagnostics pane of the Configuration Parameters dialog. This
originated from 'untitled/Gain'.
Thus I would like to know how the data type of the Gain parameter is determined.
采纳的回答
MathWorks Support Team
2019-4-22
编辑:MathWorks Support Team
2019-4-22
The internal rule decides the data type of the Gain parameter based on the input signal's word-length and sign, and attempts to maximize the precision. In this particular case, the input data type is Integer and therefore a precision-loss warning is generated.
To work around this, you will need to manually specify the data type of the Gain parameter. To do this, open the Gain block's mask dialog and click on the Parameter Attributes pane. In the drop-down menu that appears, select the appropriate data type for the Gain parameter.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!