本人在Simulink中保留小数的指定位小数时,发现Simulink并没有相应模块,于是在CSDN上搜索,发现有两种解决方案:
(23条消息) Simulink仿真计算中保留特定位数的小数_simulink指定小数点_倾我一生来读的博客-CSDN博客https://blog.csdn.net/qq_38694388/article/details/110406679该博主采用matlab function的办法,较为麻烦,且容易报错
于是乎,本人采用数据类型转换加Simulink自带的整数圆整,实现了小数圆整。整数圆整介绍文章见下链接:
直接上图:
在第一个gain模块中,将原来的数扩大n倍(保留一位就是10倍,两位就是100倍),选择取整模式为round,输出的数据类型为int8(int8不够用可以用int16 int32),然后使用data type conversion将数据类型由int8改为single,最后再用另一个gain模块缩小到原来的值即可。
亲测有效,欢迎各位自取