Matlab Simulink 仿真步骤
- 格式:pdf
- 大小:456.23 KB
- 文档页数:28
matlab中simulink仿真的搭建规则
在MATLAB的Simulink中进行仿真搭建,需要遵循以下规则:
1. 模型文件:启动Simulink后,可以在Simulink Library Browser窗口中,通过拖放模块进行模型搭建。
模型搭建完成后,需要将其保存为.slx文件格式。
2. 模块的连接:在Simulink中,可以通过鼠标拖动模块的端口进行连接。
连接时,需要确保连接线在两个模块之间完全接触,以避免出现断路或接触不良的情况。
3. 模块的参数设置:在连接模块后,需要进入每个模块的参数设置界面,根据需要进行参数设置。
例如,可以设置输入信号的幅值、频率等参数。
4. 仿真时间的设置:在Simulink中,可以设置仿真的起始时间和结束时间。
通常,仿真的时间范围应该覆盖输入信号的整个周期。
5. 仿真结果的显示:在Simulink中,可以通过将示波器模块连接到输出端口来显示仿真结果。
示波器模块可以实时显示输出信号的波形。
以上是Simulink中进行仿真搭建的基本规则,但具体的搭建规则可能会因应用场景和模型复杂度的不同而有所差异。
因此,建议在具体的仿真项目中,仔细阅读官方文档和教程,以了解更多关于搭建规则和操作细节的信息。
实验七SIMULINK 仿真集成环境一、实验目的熟悉SIMULINK 的模型窗口、熟练掌握SIMULINK 模型的创建,熟练掌握常用模块的操作及其连接。
二、实验内容(1) SIMULINK 模型的创建和运行。
(2) 一阶系统仿真。
三、实验步骤1.Simulink 模型的创建和运行(1) 创建模型。
①在MATLAB 的命令窗口中输入simulink 语句,或者单击MATLAB 工具条上的SIMULINK 图标,SIMULINK 模块库浏览器。
②在MATLAB 菜单或库浏览器菜单中选择File|New|Model,或者单击库浏览器的图标,即可新建一个“untitle”的空白模型窗口。
③打开“Sources”模块库,选择“Sine Wave”模块,将其拖到模型窗口,再重复一次;打开“Math Operations”模块库选取“Product”模块;打开“Sinks”模块库选取“Scope”模块。
(2) 设置模块参数。
①修改模块注释。
单击模块的注释处,出现虚线的编辑框,在编辑框中修改注释。
②双击下边“Sine Wave”模块,弹出参数对话框,将“Frequency”设置为100;双击“Scope”模块,弹出示波器窗口,然后单击示波器图标,弹出参数对话框,修改示波器的通道数“Number of axes”为3。
③如图A4 所示,用信号线连接模块。
图A4(3) 启动仿真①单击工具栏上的图标或者选择Simulation|Start 菜单项,启动仿真;然后双击“Scope”模块弹出示波器窗口,可以看到波形图。
②修改仿真步长。
在模型窗口的Simulation 菜单下选择“Configuration Parameters”命令,把“Max step size”设置为0.01;启动仿真,观察波形是不是比原来光滑。
③再次修改“Max step size”为0.001;设置仿真终止时间为10s;启动仿真,单击示波器工具栏中的按钮,可以自动调整显示范围,可以看到波形的起点不是零点,这是因为步长改小后,数据量增大,超出了示波器的缓冲。
如何使用MATLABSimulink进行动态系统建模与仿真如何使用MATLAB Simulink进行动态系统建模与仿真一、引言MATLAB Simulink是一款强大的动态系统建模和仿真工具,广泛应用于各个领域的工程设计和研究中。
本文将介绍如何使用MATLAB Simulink进行动态系统建模与仿真的方法和步骤。
二、系统建模1. 模型构建在MATLAB Simulink中,可以通过拖拽模块的方式来构建系统模型。
首先,将系统的元件和子系统模块从库中拖拽到模型窗口中,然后连接这些模块,形成一个完整的系统模型。
2. 参数设置对于系统模型的各个组件,可以设置对应的参数和初始条件。
通过双击模块可以打开参数设置对话框,可以设置参数的数值、初始条件以及其他相关属性。
3. 信号连接在模型中,各个模块之间可以通过信号连接来传递信息。
在拖拽模块连接的同时,可以进行信号的名称设置,以便于后续仿真结果的分析和显示。
三、系统仿真1. 仿真参数设置在进行系统仿真之前,需要设置仿真的起止时间、步长等参数。
通过点击仿真器界面上的参数设置按钮,可以进行相关参数的设置。
2. 仿真运行在设置好仿真参数后,可以点击仿真器界面上的运行按钮来开始仿真过程。
仿真器将根据设置的参数对系统模型进行仿真计算,并输出仿真结果。
3. 仿真结果分析仿真结束后,可以通过查看仿真器界面上的仿真结果来分析系统的动态特性。
Simulink提供了丰富的结果显示和分析工具,可以对仿真结果进行绘图、数据处理等操作,以便于对系统模型的性能进行评估。
四、参数优化与系统设计1. 参数优化方法MATLAB Simulink还提供了多种参数优化算法,可以通过这些算法对系统模型进行优化。
可以通过设置优化目标和参数范围,以及定义参数约束条件等,来进行参数优化计算。
2. 系统设计方法Simulink还支持用于控制系统、信号处理系统和通信系统等领域的特定设计工具。
通过这些工具,可以对系统模型进行控制器设计、滤波器设计等操作,以满足系统性能要求。
下面用一个简单的例子作介绍:(本例不是特别针对实现什么功能,只是为了介绍方便)第一部分创建一个模糊逻辑(.fis文件)第一步:打开模糊推理系统编辑器步骤:在Commond Window 键入fuzzy回车打开如下窗口,既模糊推理系统编辑器第二步:使用模糊推理系统编辑器本例用到两个输入,两个输出,但默认是一个输人,一个输出步骤:1、添加一个输入添加一个输出得如下图2、选择Input、output(选中为红框),在Name框里修改各输入的名称并将And method 改为prod,将Or method 改为probor提示:在命名时’_’在显示时为下标,可从上图看出。
第三步:使用隶属函数编辑器该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。
步骤:1、双击任何一个输入量(In_x、In_y)或输出量打开隶属度函数编辑器。
2、在左下处Range和Display Range处添加取值范围,本例中In_x和In_y的取值范围均为[0 10], Out_x和Out_y的取值范围均为[0 1]3、默认每个输入输出参数中都只有3个隶属度函数,本例中每个输入输出参数都需要用到五个,其余几个需要自己添加:选中其中一个输入输出参数点击Edit菜单,选Add MFS…打开下列对话框将MF type设置为trimf(三角形隶属度函数曲线,当然你也需要选择其他类型) 将Number of MFs设置为2点击OK按钮同样给其他三个加入隶属度函数4、选中任何一个隶属度函数(选中为红色),在Name中键入名称,在Type 中选择形状,在Params中键入范围,然后回车如下图:5、关闭隶属函数编辑器第四步:使用规则编辑器通过隶规则编辑器来设计和修改“IF...THEN”形式的模糊控制规则。
MATLAB基础与应用简明教程张明等编著北京航空航天大学出版社(2001.01)MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。
它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。
LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。
MA TLAB是随着Windows环境的发展而迅速发展起来的。
它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。
MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。
同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。
本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。
Chap1 MATLAB入门与基本运算本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。
重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。
由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。
1.1 MATLAB环境与文件管理1.2 工作空间与变量管理1.2.1 建立数据x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。
分号“;”表示不显示定义的数据。
MATLAB还提供了一些简洁方式,能有规律地产生数组:xx=1:10 %xx从1到10,间隔为1xx=-2:0.5:1 %xx从-2到1,间隔为0.5linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。
matlab的simulink仿真建模举例Matlab的Simulink仿真建模举例Simulink是Matlab的一个工具包,用于建模、仿真和分析动态系统。
它提供了一个可视化的环境,允许用户通过拖放模块来构建系统模型,并通过连接和配置这些模块来定义模型的行为。
Simulink是一种功能强大的仿真平台,可以用于解决各种不同类型的问题,从控制系统设计到数字信号处理,甚至是嵌入式系统开发。
在本文中,我们将通过一个简单的例子来介绍Simulink的基本概念和工作流程。
我们将使用Simulink来建立一个简单的电机速度控制系统,并进行仿真和分析。
第一步:打开Simulink首先,我们需要打开Matlab并进入Simulink工作环境。
在Matlab命令窗口中输入"simulink",将会打开Simulink的拓扑编辑器界面。
第二步:创建模型在拓扑编辑器界面的左侧,你可以看到各种不同类型的模块。
我们将使用这些模块来构建我们的电机速度控制系统。
首先,我们添加一个连续模块,代表电机本身。
在模块库中选择Continuous中的Transfer Fcn,拖动到编辑器界面中。
接下来,我们添加一个用于控制电机速度的控制器模块。
在模块库中选择Discrete中的Transfer Fcn,拖动到编辑器界面中。
然后,我们需要添加一个用于输入参考速度的信号源模块。
在模块库中选择Sources中的Step,拖动到编辑器界面中。
最后,我们添加一个用于显示模拟结果的作用模块。
在模块库中选择Sinks 中的To Workspace,拖动到编辑器界面中。
第三步:连接模块现在,我们需要将这些模块连接起来以定义模型的行为。
首先,将Step模块的输出端口与Transfer Fcn模块的输入端口相连。
然后,将Transfer Fcn模块的输出端口与Transfer Fcn模块的输入端口相连。
接下来,将Transfer Fcn模块的输出端口与To Workspace模块的输入端口相连。
MATLAB基础与应用简明教程张明等编著北京航空航天大学出版社(2001.01)MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。
它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。
LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。
MATLAB是随着Windows环境的发展而迅速发展起来的。
它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。
MATLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。
同时,它具有很好的开放性,用户可以根据自己的需求,利用MATLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。
本书重点介绍了MATLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。
Chap1 MATLAB入门与基本运算本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。
重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。
由于MATLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。
1.1 MATLAB环境与文件管理1.2 工作空间与变量管理1.2.1 建立数据x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。
分号“;”表示不显示定义的数据。
MATLAB还提供了一些简洁方式,能有规律地产生数组:xx=1:10 %xx从1到10,间隔为1xx=-2:0.5:1 %xx从-2到1,间隔为0.5linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。
对于这一类命令,只要给出数组的两端数据和维数就可以了。
xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点1.2.2 who和whos命令who: 查看工作空间中有哪些变量名whos: 了解这些变量的具体细节1.2.3 exist命令查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。
调用格式:i=exist(‘A’);式中,A为要查询的变量名。
返回的值i表示A存在的形式:i=1 表示当前工作空间内存在一个变量名为A的矩阵;i=2 表示存在一个名为A.m的文件;i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;i=4 表示存在一个编译好的名为A.mdl的SimuLink的文件;i=5 表示存在一个内部的MATLAB函数A();i=0 表示不存在和A有关的变量和文件1.2.4 clear命令删除一些不再使用的变量。
变量之间用空格分开,不能加逗号。
1.2.5 format命令选择数值格式。
命令数据显示说明format long35.8333333333333416位format short e35.833e+015位加指数format long e35.83333333333334e+0116位加指数format hex4041eaaaaaaaaaab十六进制format blank35.832个十进制位format ++正、负或零format rat215/6有理数近似format short35.8333缺省显示1.2.6 在线查询与功能演示1.help命令help sqrt: 了解求平方根命令的功能和使用方式。
2 lookfor命令通过搜索所有MATLAB help标题,以及MATLAB搜索路径中M文件的第一行,返回包含所指定关键词的那些项。
Lookfor riccati: 得到所有解riccati方程的命令和解释语句 3. 菜单驱动的帮助1.3 变量、数据与函数1.3.1 变量变量名必须是不含空格的单个词,其命名规则如下:变量名区分大小写;变量名最多不超过19个字符;必须以字母打头,之后可以是任意字母、数字或下划线。
标点符号在MATLAB中具有特殊含义,所以变量名中不允许使用标点符号。
realmin最小可用正实数realmax最大可用正实数1.3.2 注释和标点百分号后所有的文字为注释。
多条命令可以放在同一行,中间用逗号或分号隔开。
逗号要求显示结果,分号禁止显示结果。
1.3.3 复数表示用和(是任意整数、实数)表示。
复数和数学运算可以写成与实数相,i j ()sqrt x x 同的形式。
MATLAB 还可以用real,imag,abs,angle 命令来表示一个复数的实部、虚部、幅值和相角。
1.3.4 数学函数命令说明Abs(x)绝对值或复数的幅值Acos(x)反余弦Acosh(x)反双曲余弦Angle(x)四象限内取复数相角Asin(x)反正弦Asinh(x)反双曲正弦Atan(x)反正切Atan2(x,y)四象限内反正切atanh(x)反双曲正切ceil(x)对+∞方向取整数conj(x)复数共轭cos(x)余弦cosh(x)双曲余弦exp(x)指数函数e x fix(x)对零方向取整数floor(x)对-∞方向取整数gcd(x)整数x 和y 的最大公约数imag(x)复数虚部lcm(x,y)整数x 和y 的最大公倍数log(x)自然对数log10(x)常用对数real(x)复数实部rem(x,y)除后余数;rem(x,y)给出x/y 的余数round(x)四舍五入到最接近的整数sign(x)符号函数;返回自变量的符号,例如sign(1.5)-1,sign(-2.4)=-1,sign(0)=0sin(s)正弦sinh(x)双曲正弦sqrt(x)平方根tan(x)正切tanh(x)双曲正切1.4 数据的输入与输出 1.4.1 save 和load 命令(1) save: 以二进制格式将所有变量存入到matlab.mat 文件中; (2) save data: 以二进制格式将所有变量存入到data.mat 文件中; (3) save data x y z: 以二进制格式将变量x,y,z 存入到data.mat 文件中 1.4.2 低级文件输入输出MATLAB 提供了基于C 语言的低级文件I/O 命令,可以读写任意格式文件。
1.5 数组与矩阵运算由于数组可以定义为只有一行(或一列)的矩阵,因此,所有有关矩阵的运算可以用于数组运算。
1.5.1 矩阵表示与块操作 1. 矩阵表达式MATLAB 的数组与矩阵用[ ]表示,程序可以自行解读矩阵的行、列标志和元素。
定义矩阵的原则是:矩阵元素间用空格或逗号隔开,行用分号隔开。
如:a=[1 2 3;4 5 6],b=[7 8 9] 2. 矩阵转置矩阵的转置(行、列互换)用表示。
'A 若矩阵为复数矩阵,求转置时首先对矩阵元素进行转置,然后再逐项求取其共轭数值,这种转置方式双称为Hermit 转置。
若x=[5.0000+1.0000i -2.0000+1.000i; 4.0000 +3.0000i]则xx=x’=[5.0000-1.0000i 4.0000; -2.0000-1.0000i 0-3.0000i]3. 矩阵大小 查询矩阵大小命 令说 明whos 显示工作空间中存在的变量及其大小size(A)返回A 矩阵的行数和列数length(A)返回A 矩阵的最大行、列数find(A)给出特殊要求的矩阵元素的行、列标记size: 格式为:[n,m]=size(A)。
n 和m 分别为A 矩阵的行数与列数。
length: 格式为:n=length(A)。
n 为A 数组的元素个数或A 矩阵的行、列数之最大值。
该函数等效于max(size(A))。
find 命令:进行特殊要求的矩阵元素的定位。
如[i,j]=find(A>3)指出矩阵元素中大于3的元素的行、列位置。
4. 矩阵的块操作MATLAB 提供了很多简便、智能的方式,可以对矩阵进行元素更改、插入子块、提取子块、重排子块、扩大维数等操作。
冒号“:”表示“全部”。
a(1,:)=b %将a 的第1行中所有元素用b 的元素替代。
a(:,:)=1 %将a 的所有元素设为1。
a(2,3)=10 %第2行第3列元素等于10。
MATLAB 已定义的矩阵的维数可以扩大,但不能缩小,除非利用clear 命令删除该矩阵。
如果输入的同名矩阵的维数小于矩阵维数,MATLAB 认为是原矩阵矩阵修改了部分元素或子块。
增加矩阵的维数时,可以只给出非零元素,MATLAB 自动将未定义元素设为0。
5. 矩阵的翻转操作矩阵上下翻转:flipud 命令将n 行矩阵作上下翻转,将A 的行按照n....1的顺序重新排列,A 的列保持不变。
如a=[1 2 3; 4 5 6; 7 8 9; 10 11 12],则b=flipud(a)=[10 11 12; 7 8 9; 4 5 6; 1 2 3]矩阵左右翻转:fliplr 命令将m 列矩阵A 作左右翻转,将A 的列按照m...1的顺序重新排列,A 的行保持不变。
如c=fliplr(a)=[3 2 1; 6 5 4; 9 8 7; 12 11 10]矩阵逆时针90°旋转:如d=rot90(a)=[3 6 9 12; 2 5 8 11; 1 4 7 10] 矩阵操作函数命 令说 明flipud(A)矩阵作上下翻转fliplr(A)矩阵作左右翻转rot90(A)矩阵逆时针翻转90°diag(A)提取矩阵A 的对角元素,返回列向量diag(V)以列向量V 作对角元素创建对角矩阵tril(A)提取A 的下三角矩阵triu(A)提取A 的上三角矩阵1.5.2 矩阵运算矩阵运算包括矩阵与标量、矩阵与矩阵的运算;矩阵函数和稀疏矩阵应用等。
1. 矩阵与标量的运算运算包括+、-、×、÷和乘方等运算。
矩阵与标量运算完成矩阵的每个元素对该标量的运算。
MATLAB 用符号“^”表示乘方。
求矩阵乘方时要求矩阵为方矩阵。
已知矩阵: b=[2 4; 1 5],则b^2=[8 28; 7 29](其平方为b×b );b^(-1)=[0.8333 -0.6667; -0.1667, 0.3333](实际是求b 的逆矩阵)p=b^(0.2)=[1.0862 0.3448; 0.0862 1.3448](将b 矩阵开5次方,即b=p 5)2. 矩阵与矩阵的运算矩阵加减法运算:矩阵A 和B 的维数完全相同时,可以进行矩阵加减法运算。