Simulink保留指定位小数的办法

本人在Simulink中保留小数的指定位小数时,发现Simulink并没有相应模块,于是在CSDN上搜索,发现有两种解决方案:

(23条消息) Simulink仿真计算中保留特定位数的小数_simulink指定小数点_倾我一生来读的博客-CSDN博客https://blog.csdn.net/qq_38694388/article/details/110406679该博主采用matlab function的办法,较为麻烦,且容易报错

(23条消息) MATLAB Simulink数据的小数点设计_simulink保留小数_Suresoft China的博客-CSDN博客https://blog.csdn.net/weixin_48966025/article/details/119780099?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167773958216800186566626%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167773958216800186566626&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-119780099-null-null.142%5Ev73%5Epc_search_v2,201%5Ev4%5Eadd_ask,239%5Ev2%5Einsert_chatgpt&utm_term=simulink%E4%BF%9D%E7%95%99%E4%B8%80%E4%BD%8D%E5%B0%8F%E6%95%B0&spm=1018.2226.3001.4187这位博主采用修改数据类型为fixdt,小数溢出即可圆整,但不可以四舍五入,精度只能是2^n

于是乎,本人采用数据类型转换加Simulink自带的整数圆整,实现了小数圆整。整数圆整介绍文章见下链接:

(23条消息) 深入研究simulink建模与仿真之小数转换为整数的舍入模式(圆整模式、取整模式)_simulink保留小数_举个栗子gcq的博客-CSDN博客icon-default.png?t=N176https://blog.csdn.net/weixin_40769843/article/details/107788940

直接上图:

在第一个gain模块中,将原来的数扩大n倍(保留一位就是10倍,两位就是100倍),选择取整模式为round,输出的数据类型为int8(int8不够用可以用int16 int32),然后使用data type conversion将数据类型由int8改为single,最后再用另一个gain模块缩小到原来的值即可。

亲测有效,欢迎各位自取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值