比较模拟数据

news2024/11/25 7:19:01

         模拟数据检查器可以比较来自工作区、文件或模拟中的运行和单个信号的数据和元数据。可以使用公差来分析比较结果,并可以通过指定信号属性和比较约束来配置比较行为。此示例使用从模型slexAircraftExample的模拟中记录的数据,演示了以下内容:

  1. 比较信号和运行。
  2. 使用模拟数据检查器中的比较窗格分析比较结果。
  3. 指定信号公差和全局公差。
  4. 配置比较约束。

        有关影响比较的公差计算和信号属性的更多信息,请参阅《模拟数据检查器如何比较数据》。要以编程方式比较数据,请使用Simulink.sdi.compareRuns函数或Simulink.sdi.compareSignals函数。

        设置 此示例继续自《检查模拟数据》。还可以使用此脚本生成示例所需的数据。

load_system('slexAircraftExample')

% Configure signals to log
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Pilot', 1, 'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model', 3, 'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model', 4, 'on')

% Change Pilot signal to sine
set_param('slexAircraftExample/Pilot', 'WaveForm', 'sine')

% Simulate model
sim('slexAircraftExample')
ans = 
  Simulink.SimulationOutput:
                logsout: [1x1 Simulink.SimulationData.Dataset] 
                   tout: [1235x1 double] 
                   xout: [1x1 Simulink.SimulationData.Dataset] 
                   yout: [1x1 Simulink.SimulationData.Dataset] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

% Change Pilot signal to square
set_param('slexAircraftExample/Pilot', 'WaveForm', 'square')

% Simulate Model
sim('slexAircraftExample')
ans = 
  Simulink.SimulationOutput:
                logsout: [1x1 Simulink.SimulationData.Dataset] 
                   tout: [1381x1 double] 
                   xout: [1x1 Simulink.SimulationData.Dataset] 
                   yout: [1x1 Simulink.SimulationData.Dataset] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

        比较信号 可以比较信号以分析模型中两个信号之间的关系。例如,比较摇杆输入信号与输出信号 alpha(弧度)。

1.导航至比较窗格。

2.要查看可用于比较的信号列表,请展开基准下拉菜单,然后选择信号。

3.选择摇杆(运行 1:slexAircraftExample)。

4.展开“比较至”下拉菜单,然后选择 alpha,弧度(运行 1:slexAircraftExample)。

单击“比较”。

5.或者,可以通过在检查窗格中右键单击信号,使用上下文菜单来选择基准和比较信号。

这些信号不完全相同,因此它们在默认情况下设置为绝对、相对和时间公差均为 0 的情况下不匹配。

如图所示:

        信号时间公差 在比较视图的顶部图中,您可以看到 alpha,弧度信号滞后于摇杆信号。对于信号比较,模拟数据检查器使用为基准信号指定的公差值。为了考虑滞后,给摇杆信号添加一个时间公差。

        选择摇杆信号,然后在属性窗格的“时间公差”字段中输入 0.5。当您为基准信号指定公差时,其“覆盖全局公差”字段会自动更改为是。当您点击“时间公差”字段以外的区域时,比较会再次运行,使用您指定的信号级公差。如果您想要使用信号的全局公差值,请点击“覆盖全局公差”字段,并从下拉菜单中选择“否”。

        模拟数据检查器在绘制的基准信号周围和底部子图中显示差异信号周围绘制公差带。差异图的顶部条显示在绿色和红色中比较中在公差范围内和超出公差范围的区域。

如图所示:

        信号幅度公差 时间公差覆盖了两个信号之间的相位差异,但由于振幅差异,比较仍然包括超出公差范围的区域。您可以添加幅度公差,可以是绝对公差或相对公差。

        要为摇杆信号添加绝对公差,请在属性窗格的“绝对公差”字段中输入 0.05。通过绝对和时间公差的组合,信号比较通过了。

注意

        模拟数据检查器使用每个点的指定公差的最宽松解释来绘制公差区域。有关模拟数据检查器如何计算公差带的更多信息,请参阅《公差规范》。

        如图所示:

比较运行

        还可以使用模拟数据检查器将一个运行中的所有信号与另一个运行中的所有信号进行比较。运行比较可以提供有关更改模型参数的影响的有用信息。例如,更改控制杆输入信号的滤波器的截止频率。然后,使用模拟数据检查器评估对记录的信号的影响。

1.要访问模型工作区中的数据,请在“建模”选项卡下的“设计”下,单击“模型资源管理器”。

2.单击模型名称旁边的箭头,然后选择“模型工作区”。

3.将 Ts 的值从 0.1 更改为 1,并关闭模型资源管理器。

4.使用新的滤波器对模型进行仿真。

5.在模拟数据检查器中的“比较”窗格中,展开“基准”下拉菜单,然后选择“运行”。

6.从运行列表中,选择“运行 2:slexAircraftExample”。

7.展开“比较至”下拉菜单,然后选择“运行 3:slexAircraftExample”。

8.单击“比较”。

        “比较”窗格列出了来自比较运行的所有信号,并总结了比较结果在“结果”列中。在此示例中,所有三个信号都对齐,但没有匹配。可以单击“更多”以查看每个信号比较不匹配的原因。所有三个信号都超出了公差范围。

如图所示:

注意

        模拟数据检查器仅比较与比较运行的信号对齐的基准运行中的信号。如果基准运行中的信号与比较运行中的信号不对齐,则在“比较”窗格中列出该信号,并带有警告。有关信号对齐的更多信息,请参阅信号对齐。

        要绘制比较结果,请在“比较”窗格中选择要查看的信号。例如,选择 q,弧度/秒 信号的结果。顶部图显示了基准运行和比较运行中的 q,弧度/秒 信号。底部图显示了信号之间的差异以及计算的公差带。

如图所示:

全局公差

        要分析运行比较中的信号,您可以指定全局公差。要指定全局公差,请单击“更多”。在全局公差下,输入 0.75 作为时间公差和 0.075 作为绝对公差。

如图所示:

        点击“比较”按钮来运行比较。模拟数据检查器会在基准信号周围和在差异图上绘制公差带。使用新的公差值,摇杆和 q,弧度/秒 信号通过了比较。如图所示:

        查看 alpha,弧度 信号以分析比较结果中超出公差范围的区域。点击工具栏中的箭头按钮来浏览超出公差范围的区域。图中的两个光标显示了第一个超出公差范围的开始和结束。可以使用键盘上的箭头键来浏览每个超出公差范围内的信号和公差值。要查看下一个超出公差范围,请点击工具栏中的右箭头按钮。如图所示:

        要解决超出公差范围的区域,可以选择修改全局公差值或者使用信号属性为 alpha,弧度 信号添加特定信号的公差。

配置比较约束

        还可以应用影响结果是否匹配的比较约束。例如,可以指定信号的时间向量必须匹配才能使结果匹配。要指定约束,请单击“更多”,然后选择“信号时间向量必须匹配”。要使用此约束运行新的比较,请单击“比较”。

        现在,比较结果显示所有信号结果都是不匹配的。这是因为这些信号来自使用可变步长求解器的模型的模拟,而且模拟之间的条件发生了变化。当比较结果由于约束而不匹配时,模拟数据检查器不会计算该信号的结果。当选择一个信号时,绘图区域会显示信号结果为不匹配的原因解释。

        如图所示:

可以配置以下比较约束:

  • 信号数据类型必须匹配
  • 信号起始和停止时间必须匹配
  • 信号时间向量必须匹配

        当要求信号元数据匹配时,指定约束可以更快地返回不匹配的结果,因为当指定的元数据不匹配时,比较不会计算结果。

        还可以配置比较在检测到第一个不匹配结果后停止计算结果。当配置比较在第一个不匹配时停止时,比较始终在检测到信号元数据的第一个不匹配后停止。还可以选择在比较信号数据时第一个不匹配结果是由于超出公差而导致时停止比较。

        模拟数据检查器始终对基准和比较运行中的信号进行对齐,并始终检查信号单位是否匹配。当配置比较在第一个不匹配时停止时,不对齐的信号和单位不匹配的信号总是会导致比较停止。可以通过选择一个或多个约束来指定比较要检查的其他元数据。

取消比较

        此示例中使用的运行和信号相对较小,比较速度较快。当比较长信号或包含许多信号的运行时,比较可能需要更多时间。模拟数据检查器在比较过程中显示渐进式进度指示器,并且“比较”按钮变成了“取消”按钮,可以在任何时候点击它来取消比较。对于分层数据,比较视图中的“结果”列总结了每个分层节点上的结果。

        如图所示:

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

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

相关文章

云栖实录 | MaxCompute 迈向下一代的智能云数仓

本文根据2024云栖大会实录整理而成,演讲信息如下: 演讲人: 张治国 | 阿里云智能集团研究员、阿里云 MaxCompute 负责人 谢德军|阿里云智能集团资深技术专家 于得水|阿里云智能集团资深技术专家 谌鹏飞&#xff5c…

SpringMVC源码-@ControllerAdvice和 @InitBinder注解源码讲解

1.ControllerAdvice修饰的类何时被加载扫描 被ControllerAdvice修饰的类是作用于全局的 initStrategies 初始化springmvc的9大组件 initStrategies:531, DispatcherServlet (org.springframework.web.servlet) onRefresh:514, DispatcherServlet (org.springframework.web.se…

在线答题系统怎么做?一文为您揭秘!

在线答题系统是一种利用网络技术实现的答题平台,具有高效、便捷、灵活等特点,被广泛应用于教育、培训、考试、竞赛等场景。以下是其详细介绍: 一、 基本功能: 题目录入:支持多种方式录入题目,如手动输入、…

Android15之解决:Dex checksum does not match for dex:services.jar问题(二百三十五)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

前端接收到的日期格式为 2021-12-07T16:44:53.298+00:00 怎么办?

在写项目的时候,给前端发送了一个 Date 类型的数据,发现格式不对: 可以通过在application 配置文件中进行如下配置: spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT8 前端在获取就发现格式正确

登高赏菊迎重阳,与家人共乐同度佳节。

在金风送爽的重阳佳节,让我们登高远望,与亲人共赏菊花,共享团圆时光。愿清风明月,带来幸福与好运,让我们心怀感恩,笑对人生,共度这个美好的重阳节日!

中安未来 OCR:合同抽取的高效利器

在数字化办公的时代,高效处理文档成为了众多企业的迫切需求。中安未来 OCR 技术以其强大的功能脱颖而出。 中安未来的 OCR 技术能够准确识别各种文档中的文字信息,其中合同抽取功能尤为实用。对于企业来说,合同管理至关重要。传统的合同处理方…

如何设置 GitLab 密码过期时间?

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 60天专业…

CLIP——多模态预训练模型介绍

CLIP: Contrastive Language-Image Pre-training CLIP: 对比语言-图像预训练 CLIP的是由 OpenAI 2021年在 Learning Transferable Visual Models From Natural Language Supervision【利用文本的监督信号训练一个迁移能力强的视觉模型】中提出的一种多模态预训练模型&#xff…

AI荣耀时刻!2024诺贝尔物理奖、化学奖双双归属AI界

全球科学界迎来了2024最为瞩目的时刻——诺贝尔奖揭晓!当诺贝尔物理奖和化学奖这两大科学殿堂的最高荣誉同时聚焦在人工智能(AI)领域时,AI技术无疑再次被推向了神坛,成为全球瞩目的焦点!这一历史性的时刻&a…

2024年【焊工(初级)】最新解析及焊工(初级)模拟试题

题库来源:安全生产模拟考试一点通公众号小程序 焊工(初级)最新解析根据新焊工(初级)考试大纲要求,安全生产模拟考试一点通将焊工(初级)模拟考试试题进行汇编,组成一套焊…

来势汹汹,Eva Gamaiun超现实版权画时隔一年连发两案再次维权

案件基本情况起诉时间:2024-9-23、2024-9-24案件号:2024-cv-08763、2024-cv-08804原告:Eva Gamaiun原告律所:keith起诉地:伊利诺伊州北部法院品牌介绍Eva Gamayun,1990年出生,是一位自学成才的混…

vue项目 子组件在打开时调用父组件传过来的props里的数据

1 分析: 父组件在加载时就会加载子组件,所以此时调不到数据, 我们可以利用父组件内子组件的ref属性,获取子组件的方法, 在父组件的触发方法中调用直接传值 例: 父组件: //父组件事件AttributesRelations(row){this.dialogForm rowthis.$refs.AttributesRelationsRef.Attribu…

华为 HCIP-Datacom H12-821 题库 (35)

🐣博客最下方微信公众号回复题库,领取题库和教学资源 🐤诚挚欢迎IT交流有兴趣的公众号回复交流群 🦘公众号会持续更新网络小知识😼 1.一个 Route-Policy 下可以有多个节点,设备在调用Route-Policy时按顺序开始匹配 …

【最新华为OD机试E卷-支持在线评测】智能成绩表(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

如何才能使绩效管理和薪酬管理完美结合?

如何才能使绩效管理和薪酬管理完美结合? 企业内部管理中,绩效考核与薪酬设计是人力资源管理的两大核心支柱。薪酬设计不仅是工资分配的基石,更是激发员工潜能的关键工具;绩效考核则作为评估标尺,衡量如销售额、服务满…

temu自养号测评采购系统搭建技巧与技术要求

TEMU自养号测评采购系统的搭建是一个细致且需关注多个环节的过程,以下是一些关键的搭建技巧: 一、基础环境搭建 1. 硬件参数隔离: 2. 利用国外服务器在云端设立安全终端,确保每个账号拥有独立的硬件底层参数,如安全…

MySQL C/C++ 的 API

MySQL 提供了一个用于 C/C 的 API,称为 MySQL Connector/C。该 API 允许通过 C/C 程序与 MySQL 数据库进行交互。 函数名称参数返回值描述mysql_initMYSQL *mysqlMYSQL *初始化一个 MySQL 对象,用于连接 MySQL 服务器。mysql_real_connectMYSQL *mysql,…

视频里的声音怎么单独提取出来?简单又实用的10种提取声音方法!

视频里的声音怎么单独提取出来?在当今这个数字化飞速发展的时代,视频已经成为信息传播的中流砥柱,而音频元素则是这个过程中一个举足轻重的组成部分,音频不仅扮演着声音背景的角色,更通过多种形式如旁白解说、背景音乐…

设备树pinctrl子系统

1.pinctrl子系统 大多数 SOC 的 pin 都是支持复用的,比如 IMX6ULL 的 GPIO1_IO03 既可以作为普通的GPIO 使用,也可以作为 I2C1 的 SDA 等等。此外我们还需要配置 pin 的电气特性,比如上/下拉、速度、驱动能力等等。传统的配置 pin 的方式就是…