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

Matlab simulink建模与仿真 第十四章(信号输出库)

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili

一、信号输出库中的模块概览

        注:部分模块在第二章中有介绍,本章不再赘述。

二、文件及工作空间模块

1、To File文件模块

(1)在MATLAB中可用MAT文件对工作区的变量进行保存(通常用来存储矩阵),而该模块则是可以将一个矩阵存储到一个MAT文件中。

(2)变量可以创建为MATLAB时间序列(Timeseries)或数组(Array)。

①若选择生成的形式为时间序列,输入信号的形式可以多种多样(可用于任何数据类型、复杂程度或维度),该模块将simulink中的仿真采用时间点序列作为一个列向量(成员名为Time),每个仿真采用时间点的输入信号作为也作为一个列向量(成员名为Data),二者组成一个结构体,该结构体存储在FIle name指定的MAT文件中,并将结构体赋给其中指定的变量(如果输入信号为标量或者向量,那么两个成员直接合并成矩阵,而不是存储为结构体)。

②若选择生成的形式为数组格式,则输入信号只能是矢量、浮点数或者非复数,数组的每一列第一行都有一个时间戳,其后各行都有一个包含相应数据样本的矢量。

(3)下例中To File1模块将数据存储为时间序列(仿真时长为10s,仿真步长为0.1s,共101个采样时间点),变量名为ans1,To File2模块将数据存储为数组格式,变量名为ans2。

2、To Workspace工作空间模块

(1)该模块和To File模块的使用方法类似,不同的是该模块是将数据导入工作空间中,而且不论选择哪种数据形式,输入信号都可以是矩阵(当输入信号为向量时,输入信号集是一个二维矩阵,不带时间戳,而当输入信号为矩阵时,输入信号集是一个三维矩阵,其中第三维用于记录各组数据的采样时刻排序,它并不能算作是时间戳)。

(2)下例中仿真时长为10s,仿真步长为0.1s,共101个采样时间点。To Workspace1模块将数据存储为带时间戳的结构体,变量名为simout1;To Workspace2模块将数据存储为不带时间戳的结构体,变量名为simout2;To Workspace3模块将数据存储为数组格式,变量名为simout3;To Workspace4模块将数据存储为时间序列,变量名为simout4。(需要说明的是,配置和输入信号类型的排列组合多种多样,本例不会一一演示)

①带时间戳的结构体(values中的第三维记录各组数据采样时刻的先后顺序,这个并不能算是时间戳):

②不带时间戳的结构体(默认选择“二维输入存储为3-D array”,values中数据的行号代表采样时刻的先后顺序,这个并不能算是时间戳):

③数组格式(默认选择“二维输入存储为3-D array”,第三维的数字代表各组数据采样时刻的先后顺序,这个并不能算是时间戳):

④时间序列:

三、数据观察模块

1、Scope示波器模块

(1)Scope模块在第二章中已有介绍,这里对先前未做介绍的功能进行补充介绍。

(2)示波器模块检测到的数据可以导入工作区中,不过这个功能可以用To Workspace模块实现,所以示波器模块一般不开启这个功能。

(3)可以使用Layout工具将一个示波器划分为若干个窗口,比如有两个输入信号,那么可以划分出两个子窗口,这样,两个信号就可以在两个子窗口中分别进行显示。

2、XY Graph绘图模块

(1)该模块有两个输入端口X、Y,它会在每个时间步长绘制第二输入值(Y)与第一输入值(X)的散点,最后将它们连起来,以创建X-Y图(忽略超出x-min、x-max、y-min、y-max指定范围的数据)。(两个输入端口均只能为标量)

3、Floating Scope浮动示波器模块

(1)浮动示波器模块和普通示波器模块的使用方法类似,不过它没有输入端口,需要按下图所示打开信号选择器,在这里可以选择其它模块的输出端口进行“虚空连接”,这样,浮动示波器就可以监测这些输出端口的输出信号了。(该模块使用并不频繁,这里仅做简单介绍)

(2)使用浮动示波器模块进行仿真时,需要取消下图所示两个选项的勾选,否则会报错。

4、Display显示模块

(1)该模块在前面介绍其它模块时经常使用,它的作用是将输入端口的信号值显示出来。

(2)信号值的显示格式有下图所示的几种,一般默认为short格式,这种格式基本满足大部分需求,不管输入是整数、浮点数、复数或者是矩阵,该格式都能显示,另外一种可能常用的格式为binary,该格式会直接将输入数据转换为二进制形式,前面的章节中有使用过这种形式,这里不再演示。

四、终止仿真模块

        当输入值不为0(或者输入信号中含非零元素)时,Stop Simulation模块将使仿真暂停,这个暂停并不算是报错,而是相当于将仿真时长缩短罢了。


http://www.kler.cn/news/306243.html

相关文章:

  • 计算机毕业设计 智慧物业服务系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • Elasticsearch 聚合搜索
  • 网络安全 L2 Introduction to Cryptography 密码学
  • 学习整理vue前端框架项目目录结构的含义
  • Rust 所有权 Slices
  • 64. 求 1+2+…+n
  • Python快速入门 —— 第二节:函数与控制语句
  • 【C++】c++的继承
  • 面试常见题之spring
  • JAVA实现压缩包解压兼容Windows系统和MacOs
  • 【机器学习】期望最大化算法的基本概念以及再高斯混合模型的应用
  • Go语言错误处理详解
  • Cubieboard2(一) 官方镜像使用与配置
  • 【LLM多模态】文生视频评测基准VBench
  • llama3论文阅读
  • 火箭动力原理精解【1】
  • 学习大数据DAY57 新的接口配置
  • AI学习指南深度学习篇-RMSprop的数学原理
  • Python 课程11-Web 开发
  • Android 10.0 mtk平板camera2横屏预览旋转90度横屏保存圆形预览缩略图旋转90度功能实现
  • 蓝桥杯3. 压缩字符串
  • 掌握远程管理的艺术:揭秘Python的pywinrm库
  • 【OJ刷题】双指针问题3
  • 通义灵码在Visual Studio上
  • spring-TransactionTemplate 编程式事务
  • C#笔记10 Thread类怎么终止(Abort)和阻止(Join)线程
  • SQLite的入门级项目学习记录(四)
  • [项目][WebServer][Task]详细讲解
  • python绘制3d建筑
  • flask-sqlalchemy的模型类两个表,既有一对一又有一对多的情况时,解决方法