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。(需要说明的是,配置和输入信号类型的排列组合多种多样,本例不会一一演示)

①带时间戳的结构体:

②不带时间戳的结构体(默认选择"二维输入存储为3-D array"):

③数组格式(默认选择"二维输入存储为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模块将使仿真暂停,这个暂停并不算是报错,而是相当于将仿真时长缩短罢了。

相关推荐
Theodore_10221 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
----云烟----3 小时前
QT中QString类的各种使用
开发语言·qt
lsx2024063 小时前
SQL SELECT 语句:基础与进阶应用
开发语言
开心工作室_kaic4 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
向宇it4 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
武子康4 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
转世成为计算机大神4 小时前
易考八股文之Java中的设计模式?
java·开发语言·设计模式
宅小海5 小时前
scala String
大数据·开发语言·scala
qq_327342735 小时前
Java实现离线身份证号码OCR识别
java·开发语言
锅包肉的九珍5 小时前
Scala的Array数组
开发语言·后端·scala