matlab---app

一 基础

标签和信号灯没有回调函数

clc,clear,close all   %清理命令区、工作区,关闭显示图形
warning off           %消除警告
feature jit off       %加速代码运行
ysw{i}=i              %循环赋值
celldisp(ysw)         %显示元胞数组ysw.y1{1}=[1,2]       
disp(ysw)             %显示结构体

af14dc164107410aabcf6a41e7387ab0.png

e24d6ce733204f54a777b12b47476e35.png

15d62236d0b64e11b269b1e9b1caac1a.png

1e9e8190d5b947939fba02d54a01a8d4.png

231c0eae3c6d41c792796c9a5ad1ce94.png

 

二 解决办法

1 实时显示数据时用plot画图,添加drawnow后不能立即停止,不添加则停止。数据画图卡顿解决如下:

app.avgHeight.YLim = [0 2.5];
app.Heigh.YLim = [0 2.5];
app.dHeight.YLim = [-1 1];
axis(app.image,'off');    
app.i_plot=plot(app.Heigh,NaN);    %创建一个plot
app.m_plot=plot(app.avgHeight,NaN); 
app.d_plot=plot(app.dHeight,NaN); 
line(app.dHeight,1:100, repmat(app.fallThresh,[1,100]),'linestyle','-','color','r');% 瞬时高度
%         plot(app.Heigh,app.xAxies ,app.instant);  set(app.i_plot,'XData',app.xAxies,'YData',app.instant);% 平均高度
%         plot(app.avgHeight,app.xAxies ,app.mH);set(app.m_plot,'XData',app.xAxies,'YData',app.mH);% detal 高度
%         plot(app.dHeight,app.xAxies ,app.dH);  set(app.d_plot,'XData',app.xAxies,'YData',app.dH);

2 matlab的mod存在0,若作为索引值使用,则会出现错误,解决方法如下:

index = mod(i, 100) + 1;
value(index )=i;
%结束之后翻转数组
circshift(value,-1)%mod后减1的情况%mod后减50的情况

3 数组转成十六进制显示(与串口显示一致),十进制显示

% 十六进制
des = fliplr(des);
%adata = [des  dat1(9)  dat1(10)  dat1(11)  dat1(12) dat1(13)  dat1(14) dat1(15) dat1(16)];
adata = [des  version  totalPacketLen  numTarget  fallDetecteFlage  checksum];
str1 = '';
for m=1:length(adata)str1 = [str1,dec2hex(adata(m),2),' ',];   % 2是2位显示
end
string1 = sprintf('%s', str1);    % 将数据格式化为字符串或字符向量
string1 = sprintf('%s\n',string1);%十进制
str3 = [des version totalPacketLen numTarget fallDetecteFlage checksum];
str3 = num2str(str3); 
string3 = sprintf('%s',str3);
string3 = sprintf('%s\n',string3);  %换行% 在文本框滚动显示
app.cellArrayText = horzcat(app.cellArrayText,string1);
app.TextArea.Value = app.cellArrayText;
scroll(app.TextArea,"bottom");%清空数据
app.cellArrayText = [];
app.TextArea.Value = ' ';

4 串口有字节触发回调函数,每次读取的字节数量不同,解析出一个完整的tlv的帧数不是从1开始,这时使用帧数作为后续计算参数,会出现错误结果。python中通过读取一定字节数进行解析,数据不够解析时就读入需要的字节数,从而保证每帧数据都用起来,断电之后的帧数从1开始,使用帧数作为后续计算参数也不会出错。下面1为matlab字节触发的程序,2为python读取字节的程序。

1

2

 

 

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

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

相关文章

shaderlab 关键点记录

1.C#获取着色器标签的接口 可以使用 Material.GetTag API 从 C# 脚本中读取子着色器标签, 2.常用的标签 subshader的标签 “RenderPipeline” “[name]” //向 Unity 告知此子着色器是否与 URP 或 HDRP 兼容。 值:UniversalRenderPipeline //此…

leetcode够用之java语法

常用方法 Arrays.sort()排序 import java.util.Arrays;public class Main {public static void main(String[] args) {int[] numbers {9, 2, 5, 1, 7, 3};Arrays.sort(numbers);System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 3, 5, 7, 9]} }获取str中的第…

《软件定义安全》之二:SDN/NFV环境中的安全问题

第2章 SDN/NFV环境中的安全问题 1.架构安全 SDN强调了控制平面的集中化,从架构上颠覆了原有的网络管理,所以SDN的架构安全就是首先要解决的问题。例如,SDN实现中网络控制器相关的安全问题。 1.1 SDN架构的安全综述 从网络安全的角度&…

@BeforeAll 和 @AfterAll 必须是 static 的原因

BeforeAll 和 AfterAll 必须是 static 的原因 执行时机: BeforeAll 方法在所有测试方法之前运行。AfterAll 方法在所有测试方法之后运行。 实例化前/后的执行: 因为 BeforeAll 是在所有测试方法执行之前运行的,所以它在任何一个测试实例创建…

基于springboot的教学管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,教师管理,学生管理,课程管理 教师账户功能包括:系统首页,个人中心,学生管理,课程管理,课程表…

Oracle 数据库的自动化工具:AWR 和 ASM

Oracle 数据库提供了一系列工具和技术,以提高数据库管理的效率和性能。其中,AWR和 ASM是两个关键组件。本文将详细介绍 AWR 和 ASM 的功能及其在数据库管理中的重要性。 AWR AWR 是 Oracle 数据库的一个核心部分,用于收集、处理和维护数据库…

数据结构---树与二叉树

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

【CTF MISC】XCTF GFSJ0290 reverseMe Writeup(图像处理)

reverseMe 暂无 解法 导入 Photoshop。 水平翻转,得到 flag。 Flag flag{4f7548f93c7bef1dc6a0542cf04e796e}声明 本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行&#xf…

QField如何打开工程或数据文件

Field有个文件选择器,允许从本地设备打开工程。如果想从云端打开文件,请参阅 QFieldCloud 。 注意:请注意,卸载QField时,应用程序文件夹将被删除,而更新则不会。 导入并打开本地工程 QField界面 当转到 …

了解Synchronized对象头?

1、对象头的结构 Java对象存储在内存中结构为: 对象头(Header):实例数据(Instance Data):定义类中的成员属性对齐填充字节(Padding):由于HotSpot虚拟机的自…

Web Dart前端:探索、挑战与未来展望

Web Dart前端:探索、挑战与未来展望 在数字化浪潮的推动下,Web前端技术日新月异,其中Dart语言作为一种高效且灵活的编程语言,正逐渐在Web前端领域崭露头角。然而,Dart在Web前端的应用仍面临诸多挑战和未知。本文将从四…

Linux--进程间通信(system V共享内存)

目录 1.原理部分 2.系统调用接口 参数说明 返回值 1. 函数原型 2. 参数说明 3. 返回值 4. 原理 5. 注意事项 3.使用一下shmget(一段代码) 4.一个案例(一段代码) 1.简单封装一下 2.使用共享内存 2.1挂接(shmat&#x…

Java 语言概述 -- Java 语言的介绍、现在、过去与将来

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 001 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进…

直接赋值导致响应式断开,前端深浅拷贝

title: 直接赋值导致响应式断开,前端深浅拷贝 date: 2024-06-08 09:56:05 tags: vue3 vue3中的ref对象的深浅拷贝问题,实际应用出现的相关的问题。 概念总述 浅拷贝 仅仅复制了数据,没有改变他原来的引用。 表现:当你对新对象…

Unity3D EventMgr事件订阅与发布详解

在游戏开发过程中,经常需要处理各种事件,比如角色的移动、碰撞、攻击等。为了更好地管理和处理这些事件,Unity3D提供了EventMgr事件订阅与发布机制,通过该机制可以实现不同对象之间的事件通信,让游戏逻辑更加清晰和灵活…

LLVM Cpu0 新后端7 第一部分 DAG调试 dot文件 Machine Pass

想好好熟悉一下llvm开发一个新后端都要干什么,于是参考了老师的系列文章: LLVM 后端实践笔记 代码在这里(还没来得及准备,先用网盘暂存一下): 链接: https://pan.baidu.com/s/1V_tZkt9uvxo5bnUufhMQ_Q?…

单线服务器与双线服务器的区别?

单线服务器和双线服务器之间有什么区别呢?接下来就让小万来为大家具体分析一下吧! 首先单线服务器和双线服务器之间运营商的性质是不同的,单线服务器主要是一家带宽运营商,而双线服务器则是有两家运营商提供带宽的线路。 单线服务…

spring两种代理方式

Spring 提供了两种主要的代理(proxy)方式,分别是基于JDK动态代理和基于CGLIB的代理。这两种代理方式各有其特点和适用场景。 1. JDK动态代理 特点: - 基于Java的接口(Interface)。 - 代理类必须实现一个或…

contos7使用docker安装vulhub

contos7下使用docker安装vulhub 1. 安装docker 1. 更新yum (1)切换root用户 su root (2)更新yum yum update 2. 卸载旧版本的docker sudo yum remove docker sudo yum remove docker-client sudo yum remove docker-clien…

【个人博客搭建】(21)使用AutoMap对象映射

在.NET WebAPI项目中,使用AutoMap进行对象映射是一种高效的数据处理方式。通过自动映射机制,可以极大地简化对象之间的转换过程,提高代码的可维护性和整洁性。下面将详细探讨如何在.NET WebAPI中使用AutoMap进行对象映射: 安装和配…