当前位置: 首页 > news >正文

查看和访问信号记录数据

目录

信号记录对象

通过编程方式访问数据

处理记录的名称中的空格和换行符

访问 ModelDataLogs 格式的记录信号数据


        可以使用仿真数据检查器在仿真期间查看记录的信号数据,也可以使用其他可视化界面查看暂停或停止的仿真的信号记录数据。请参阅决定如何可视化仿真数据。

也可以使用 MATLAB® 命令以编程方式访问信号记录数据。

提示

        如果没有看到在模型中标记要记录的信号的记录数据,请检查记录配置。使用信号记录选择器为其记录设置被覆盖了的信号启用记录功能。

信号记录对象

        该软件将信号记录数据保存在 Simulink.SimulationData.Dataset 对象中,该对象是一个 MATLAB 工作区变量。信号记录变量的默认名称为 logsout。您可以使用“配置参数”对话框中信号记录参数旁边的文本框来更改变量名称。

        可以通过设置数据集信号格式配置参数指定数据集中各个信号的数据是使用 MATLAB timeseries 还是 timetable 元素。

​        R2016a 之前的版本还支持 ModelDataLogs 格式。要搜索 Dataset 对象中的特定元素,请使用 find 函数。要返回 Dataset 对象元素的名称,请使用 getElementNames 函数。

提示

        要对每个指定的 MATLAB timeseries 对象调用函数,

        可以使用 Simulink.SimulationData.forEachTimeseries 函数。例如,可以使用此函数轻松地重采样通过记录总线信号获取的 timeseries 对象结构体中的每个元素。

通过编程方式访问数据

        访问 Simulink.SimulationData.Dataset 对象及其元素。

        仿真模型 sldemo_clutch,该模型对一个旋转离合器系统进行建模。然后,访问包含信号记录数据的 Dataset 对象 sldemo_clutch_output。

sim("sldemo_clutch");
sldemo_clutch_output
sldemo_clutch_output = 
Simulink.SimulationData.Dataset 'sldemo_clutch_output' with 10 elementsName          BlockPath                         ____________  _________________________________ 1  [1x1 Signal]      Fn            sldemo_clutch/Clutch Pedal       2  [1x1 Signal]      Tin           sldemo_clutch/Engine Torque      3  [1x1 Signal]      LockedFlag    sldemo_clutch/Friction Mode Logic4  [1x1 Signal]      LockupFlag    sldemo_clutch/Friction Mode Logic5  [1x1 Signal]      UnlockFlag    sldemo_clutch/Friction Mode Logic6  [1x1 Signal]      Tfmaxk        sldemo_clutch/Friction Model     7  [1x1 Signal]      Tfmaxs        sldemo_clutch/Friction Model     8  [1x1 Signal]      ShaftSpeed    sldemo_clutch/Locked             9  [1x1 Signal]      EngineSpeed   sldemo_clutch/Unlocked           10  [1x1 Signal]      VehicleSpeed  sldemo_clutch/Unlocked           - Use braces { } to access, modify, or add elements using index.

        要访问 Dataset 对象元素,可以使用带花括号的索引。例如,使用索引 2 访问信号记录 Dataset 对象的 Tin 元素。

el2 = sldemo_clutch_output{2}
el2 = Simulink.SimulationData.SignalPackage: Simulink.SimulationDataProperties:Name: 'Tin'PropagatedName: ''BlockPath: [1x1 Simulink.SimulationData.BlockPath]PortType: 'outport'PortIndex: 1Values: [1x1 timeseries]Methods, Superclasses

        信号数据作为 timeseries 对象存储在 Simulink.SimulationData.Signal 对象的 Values 属性中。时间值在 timeseries 对象的 Time 属性中。信号值在 Data 属性中。

el2.ValuestimeseriesCommon Properties:Name: 'Tin'Time: [387x1 double]TimeInfo: tsdata.timemetadataData: [387x1 double]DataInfo: tsdata.datametadata

处理记录的名称中的空格和换行符

此示例显示三个信号,说明信号记录如何处理名称:

  • 名称包含空格的信号

  • 名称包含换行符的信号

  • 未命名信号,该信号源于一个名称包含换行符的模块

        ​对模型进行仿真,然后查看 logsout 变量中的信号记录结果。可以看到 Dataset 对象中的名称使用空格(其中信号名称包含空格)和换行符(其中名称包含换行符)。未命名信号使用空字符数组作为其名称。

logsout
logsout = Simulink.SimulationData.Dataset 'logsout' with 3 elementsName  BlockPath                              ____  ______________________________________ 1  [1x1 Signal]      x y   ex_signal_names_with_spaces/Sine Wave 2  [1x1 Signal]      a b   ex_signal_names_with_spaces/Sine Wave13  [1x1 Signal]      ''    ex_signal_names_with_spaces/Sine Wave2- Use braces { } to access, modify, or add elements using index.

        可以通过名称或索引访问名称包含空格的信号。在传递给 getElement 函数的名称中包含空格。要访问其名称包含换行符的信号,请使用索引。

>> logsout{2}
ans = Simulink.SimulationData.SignalPackage: Simulink.SimulationDataProperties:Name: 'a↵b'PropagatedName: ''BlockPath: [1×1 Simulink.SimulationData.BlockPath]PortType: 'outport'PortIndex: 1Values: [1×1 timeseries]

访问 ModelDataLogs 格式的记录信号数据

        在 R2016a 之前,您可以使用 ModelDataLogs 格式记录信号。从 R2016a 开始,您不能再以 ModelDataLogs 格式记录数据。信号记录使用 Dataset 格式。

​        如果已经使用 ModelDataLogs 格式记录了信号数据,则可以使用 convertToDataset 函数更新信号记录数据,以使用 Dataset 格式。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C语言】循环
  • 安装webman/admin记录
  • 采用ELK搭建日志平台,安装elasticsearch-head
  • Vue学习--- vue3 集成遇到的部分问题与解决
  • 小白之 FastGPT Windows 本地化部署
  • 案例:LVS-DR模式
  • 大模型备案全网最详细流程解读(附附件+重点解读)
  • 使用 Python 和 PyQt5 构建多线程图片下载器
  • 单HTML文件集成vue3+ElementPlus的使用
  • 构建高效NLP管道:PydanticOutputParser与Langchain的结合
  • 机器学习课程学习周报九
  • 【文档合集】软件类常用文档整理大全,软件工程,软件项目管理,技术标书方案,模
  • 【系统规划与管理师】【案例分析】【课后习题】第九章 IT服务营销
  • 数据库架构演变过程
  • vagrant 创建虚拟机
  • 345-反转字符串中的元音字母
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • css的样式优先级
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Hexo+码云+git快速搭建免费的静态Blog
  • java正则表式的使用
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Python连接Oracle
  • vue数据传递--我有特殊的实现技巧
  • Vue学习第二天
  • 高程读书笔记 第六章 面向对象程序设计
  • 高度不固定时垂直居中
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 好的网址,关于.net 4.0 ,vs 2010
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 使用 Docker 部署 Spring Boot项目
  • 微信小程序开发问题汇总
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 用简单代码看卷积组块发展
  • raise 与 raise ... from 的区别
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 积累各种好的链接
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #14vue3生成表单并跳转到外部地址的方式
  • #include<初见C语言之指针(5)>
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (1)bark-ml
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (JS基础)String 类型
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (二)正点原子I.MX6ULL u-boot移植
  • (分布式缓存)Redis哨兵
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (三)终结任务
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇