研发日记,Matlab/Simulink避坑指南(三)——向上取整Bug

news/2024/6/16 20:58:38 标签: matlab, Simulink, 数据处理, 整除, 取余

文章目录

前言

背景

问题

排查

解决

总结


前言

        见《研发日记,Matlab/Simulink避坑指南(一)——Data Store Memory模块执行时序Bug》

        见《研发日记,Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》

背景

        在一个嵌入式软件项目中,需要对一个可变数组进行数据处理。要求是原始数据相邻四个合并在一起,在这个算法中需要对原始可变数组的lengh除4后向上取整。算法的思路是,length对4整除,除不尽的加1,示例如下:

function y = fcn(u)
 
if mod(u,4) == 0
    y = floor(u/4);
else
    y = floor(u/4) + 1;
end

问题

        按照上述示例,预想不同的lengh都能除4后向上取整,但是实际运行的结果如下:

排查

        把数据处理算法的过程变量都输出来,看到求余和求商都是正确的,if分段判定也没有问题,示例如下:

function [Mod, Shg, y] = fcn(u)
 
Mod = mod(u,4);
Shg = floor(u/4);
 
if Mod == 0
    y = Shg;
else
    y = Shg + 1;
end

解决

        换一种算法实现方式,用Gain模块直接做整除向上取整,示例如下:

        重新运行程序,问题不再出现,Bug修复完工。示例如下:

总结

        整除后四舍五入,向上取整,向下取整,这类算法在Matlab/Simulink中官方已经集成了,只要熟悉一下就能应用,不需要开发者自己再开发了,如下图所示:


        版权声明:原创文章,转载和引用请注明出处和链接,侵权必究!

        上述例程使用的Demo工程,可以到笔者的主页查找和下载。


http://www.niftyadmin.cn/n/5320683.html

相关文章

Sqoop性能优化:高效数据传输的技巧

当使用Apache Sqoop进行数据传输时,性能优化至关重要。高效的数据传输可以减少任务运行时间,减轻集群负载,提高整体工作效率。在本文中,将深入探讨Sqoop性能优化的关键技巧,并提供丰富的示例代码,以帮助大家…

用模方软件进行模型的透明贴图,为什么翻出来透明部分是黑的?

答:透贴需要用PNG格式。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.1新增自动单体化建模功能,支持一键自动提取房屋结构,平均1栋复杂建筑物只需3…

Qt中QGraphicsView架构下实时鼠标绘制图形

上一章节介绍了关于QGraphicsView的基础讲解,以及简单的类图创建,由上一章节中最后展示的动画效果来看,今年主要讲述如何在QGraphicsView架构下,实时拖动鼠标绘制图形! 今天主要以矩形为例,再来看一下展示…

X态及Xprop解决策略

X态及Xprop解决策略 1 X态是什么1.1 X态产生原因1.2 X态设计上避免发生 2 X-Propagation选项2.1 Xprop策略--即仿真选项2.2 什么阶段使用X-prop2.3 Debug trace x xprop是VCS中的编译参数,在项目中用法 tree {tb_top} {xpropoff} insta…

Whatsapp协议讲解

Whatsapp协议,接口功能全:包含了如下: whatsapp 安卓协议 web协议 覆盖80%的功能接口,实现安卓协议,web网页协议 安卓协议接口如下 --登录部分接口如下 登录 数据登录 发送验证码 效验短信验证码 查询是否封号 获取版本号 查询是…

关于 Python 爬虫 JS 逆向的入门指南

请注意,这篇指南只是一个概述,为了深入理解和实践,你可能需要额外的学习和实践。 简介 Python 爬虫经常遇到需要逆向 JavaScript 生成的网站内容和逻辑的情况。这种技能对于爬取动态网站,尤其是那些使用了复杂 JS 逻辑和反爬虫技术…

Windows使用(版本8.11)ElasticSearch、elasticsearch-head、kibana

下载安装引用这篇文章 目录 1、ES基本知识核心术语核心概念倒排索引ES字典树ES怎么保证读写一致 2、Window启动ES步骤elasticsearch-8.11.3elasticsearch-head-masterkibana-8.11.3 3、Kibana 调用ES API示例 1、ES基本知识 核心术语 ● 索引:index (相…

java SSM物资采购管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM物资采购管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采…