【研发日记】Matlab/Simulink技能解锁(二)——在Matlab Function编辑窗口Debug

news2024/11/19 20:30:31

文章目录

前言

行断点

条件断点

按行步进

Watch Value

分析和应用

总结


前言

        见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》

行断点

        当Matlab Function出现异常时,如果能确定大致的代码段,就可以在相应的行上设置一个断点(Breakpoint),软件仿真运行到该断点时就会停下来,然后就方便分析问题了,示例如下:

条件断点

        有些情况下,软件异常的行位置并不容易确定,那么还可以用变量阈值来设置断点,软件仿真运行过程中一旦该变量满足阈值条件,就会触发暂停,示例如下:

按行步进

        有些软件问题往往不能在一行之内定位,需要对比多个行运行的结果,这时候就可以使用按行步进功能,让软件仿真每次只运行一个行就暂停下来,示例如下:

Watch Value

        上述几种方法使仿真运行暂停下来时,用鼠标悬停在要查看的变量上就会出现一个黄色标签,显示变量的当前值,示例如下:

分析和应用

        Debug在Matlab Function仿真调试方面的应用非常频繁,尤其是应用于复杂算法的开发时作用非常明显,例如一些数字信号处理、数据运算等等。项目中把这些Debug功能用起来后,能够有利于软件异常问题的分析和定位,大大提高Bug查找速度,有效减少开发人员在人脑逻辑分析上面投入的精力和时间。这些Debug方法主要适用于软件开发工程中,早期代码编写和原型机调试验证时Bug较多的阶段。当软件开发进入后期升级迭代阶段时,也可用于新功能或子模块的分析验证。但不适用于在装车阶段出现问题的分析排查。

总结

        以上就是本人在Debug Matlab Function时,一些个人理解和分析的总结,首先介绍了它的几种基本用法,然后展示它的使用示例,最后分析了该模块的特点和适用场景。

        后续还会分享另外几个最近解锁的Matlab/Simulink新技能,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

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


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1521146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI - 决策树模型

🤔决策树算法 决策树的思想来源可以追溯到古希腊时期,当时的哲学家们就已经开始使用类似于决策树的图形来表示逻辑推理过程。然而,决策树作为一种科学的决策分析工具,其发展主要发生在20世纪。 在20世纪50年代,美国兰…

如何在CasaOS系统玩客云中安装内网穿透工具实现远程访问内网主机下载资源

文章目录 1. CasaOS系统介绍2. 内网穿透安装3. 创建远程连接公网地址4. 创建固定公网地址远程访问 2月底,玩客云APP正式停止运营,不再提供上传、云添加功能。3月初,有用户进行了测试,局域网内的各种服务还能继续使用,但…

【SpringCloud微服务实战07】Sentinel 服务保护

Sentinel 是阿里巴巴开源的一款微服务流量控制组件。主要作用: 流量控制:避免因瞬间高并发流量而导致服务故障流。超时处理、线程隔离、降级熔断:避免因服务故障引起的雪崩问题。一、Sentinel 安装 1、安装Sentinel控制台,下载jar包并启动:Releases alibaba/Sentinel G…

动态库和静态库的新理解

旧理解(当初理解较浅,今再看到有新发现) 链接: 静态链接库和动态链接库区别_动态链接库和静态链接库的区别-CSDN博客 由于本人不是做架构方面,给大佬打螺丝。长时间的惯性思维就是要使用其他项目的类或者函数,先导出成dll。然后…

分布式调用与高并发处理(二)| Dubbo

文章目录 Dubbo概念_什么是分布式系统单机架构集群架构分布式架构单机、集群和分布式的区别 Dubbo概念_什么是RPCRPC两个作用:常见 RPC 技术和框架: Dubbo概念_简介Dubbo能做什么Dubbo支持的协议 Dubbo概念_核心组件注册中心Registry服务提供者Provider服…

[ C++ ] STL---string类的使用指南

目录 前言: string类简介 string类的常用接口 string类对象的构造函数 string类对象的赋值运算符重载 string类对象的容量操作 string类对象的访问与遍历 [ ] 下标遍历 迭代器遍历 普通迭代器iterator ​编辑 const迭代器const_iterator 反向迭代器rever…

Linux课程_____用户的管理

一、规则 用户至少属于一个组,在创建时如果不指定组,将会创建同名的组 用户只能有一个基本组(主组),但可以隶属于多个附加组 如果一个组作为某用户的基本组,此组将不能被删除 UID: 用户标识 GID: 组的标识 root管理员的uid及gid 都为0 二、用户的配置文件 1./etc/passwd …

Arduino IDE的下载和安装

一、Arduino的介绍 Arduino是一款开源电子原型平台,主要包含两部分:硬件(各种型号的Arduino板)和软件(Arduino IDE)。这个平台由意大利的Massimo Banzi、David Cuartielles等人共同开发设计,并于…

mysql5.7离线安装 windows

windows上离线安装mysql5.7 下载安装包 去官网下载对应版本的mysql官网 点击archives,接着选择自己要下载的版本,选择windows系统,并根据自己电脑的位数选择相应的版本【找到“此电脑”,鼠标右击,出来下拉框,选择“属性…

CTF-希尔加解密

对于希尔加解密很多writeup都说用在线工具,所以研究了一下,写了一个方便的加解密python代码,根据给定的字母表及私钥字符串,尝试不同纬度不同重叠的加密矩阵输出加解密结果。运行效果如下: 代码文件Hill希尔加解密_final.py import numpy as np import string # 导入自定…

PHP异世界云商系统开源源码

系统更新与修复列表 1. 基于彩虹的二次开发 - 对彩虹系统进行了二次开发,增强了系统的功能和性能。2. 新增自定义输入框提示内容(支持批量修改) - 用户可以自定义输入框的提示内容,并支持批量修改,提升用户体验。3. 新…

【python】自动化工具Selenium与playwright去除webdriver检测

对这个世界如果你有太多的抱怨 跌倒了就不敢继续往前走 为什么人要这么的脆弱 堕落 请你打开电视看看 多少人为生命在努力勇敢的走下去 我们是不是该知足 珍惜一切 就算没有拥有 🎵 周杰伦《稻香》 # -*- coding:utf-8 -*- import timefrom s…

Docker基本配置及使用

Docker基本配置及使用 使用步骤 1.卸载旧版 代码如下:首先如果系统中已经存在旧的Docker,则先卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engin…

C++进阶:详解多态(多态、虚函数、抽象类以及虚函数原理详解)

C进阶:详解多态(多态、虚函数、抽象类以及虚函数原理详解) 结束了继承的介绍:C进阶:详细讲解继承 那紧接着的肯定就是多态啦 文章目录 1.多态的概念2.多态的定义和实现2.1多态的构成条件2.2虚函数2.2.1虚函数的概念2…

P3374 【模板】树状数组 动态求连续区间和 刷题笔记

我们创建如下的树状数组来辅助操作 该数组每个s[i]处于第几层取决于其二进制 最后低位 的1处于从右往左数第几列 显然所有奇数的最右边一位都是1 即其最低位的1 处于右边第一列 所以所有的奇数处于第一层 而2,6,10,14的最低位1处于右边第二…

NVENC 视频编码器 API 编程指南 ( 中文转译 )

基于 NVIDIA Kepler™ 和更高版本 GPU 架构的 NVIDIA GPU 包含基于硬件的 H.264/HEVC/AV1 视频编码器(以下简称 NVENC)。NVENC 硬件采用 YUV/RGB 作为输入,并生成符合H.264/HEVC/AV1 标准的视频比特流。可以使用 NVIDIA 视频编解码器 SDK 中提…

低压保护测控产品解决方案【Acrel-2000M马达监控系统】

背景及需求 低压电机回路 低压进出线回路 越级跳闸 断路器的拒跳对系统安全运行威胁很大,一旦某一单元发生故障时,断路器拒动,将会造成上一级断路器跳闸,称为越级跳闸。断路器越级跳闸的危害这将扩大事故停电范围,甚…

数位排序——数组及lambda表达式应用

题目链接:1.数位排序 - 蓝桥云课 (lanqiao.cn) package lanqiao;import java.util.Arrays; import java.util.Scanner;/*** 2023/11/1* 蓝桥2122* 数位和排序,数位和相等的按大小排序*/ public class lanqiao2122_数位排序 {public static void main(Str…

从零开始利用MATLAB进行FPGA设计(四)生成优化HDL代码

文章灵感来源于MATLAB官方免费教程:HDL Coder Self-Guided Tutorial 考虑到MATLAB官网的英文看着慢,再加上视频讲解老印浓浓的咖喱味,我决定记录利用MATLAB&Simulink&SystemGenerator进行FPGA数字信号处理的学习过程。 往期回顾&am…

力扣大厂热门面试算法题 36-38

36. 有效的数独,37. 解数独,38. 外观数列,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.16 可通过leetcode所有测试用例。 目录 36. 有效的数独 解题思路 完整代码 Java Python 37. 解数独 解题思…