Changing significant digits of constant block
2 次查看(过去 30 天)
显示 更早的评论
Hi all, I have a basic question. I would like to reduce the number of significant digits in the constant block in Simulink. But I do not know how to do so. Can someone help?
Thanks.
0 个评论
采纳的回答
Andy Bartlett
2022-10-24
编辑:Andy Bartlett
2022-10-24
The constant block is showing the text that is entered for the parameter, and is not showing the evaluated numeric value. You do not have control over that behavior of the constant block.
To customize things, you could put a mask on top of the constant block.
Then using the Mask's Initialization code, you could change the value coming from the mask to some quantized value that the mask passes down to the underlying constant block. For example:
desiredInverseValueSpacing = 1000;
valForConstBlock = round(valFromMaskDialog * desiredInverseValueSpacing) / desiredInverseValueSpacing;
% where valForConstBlock is the text entered on the underly constant blocks
% for the 'Constant value:" parameter
Using Mask's MaskDisplay (aka Icon) code, you could use text manipulation techniques to get the specific text you prefer.
For example:
fprintf(num2str(valForConstBlock,6))
更多回答(1 个)
Walter Roberson
2022-10-23
Right click the block, "open", and edit the text version of the constant.
3 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Author Block Masks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!