simulink matlab教程
- 格式:docx
- 大小:594.21 KB
- 文档页数:36
matlabsimulink教程Matlab Simulink是一种基于Matlab的高级系统建模和仿真工具。
它允许用户通过图形化界面来构建和模拟复杂的多域系统。
首先,我们来介绍如何启动Simulink。
在Matlab主界面的命令窗口中输入simulink即可打开Simulink图形界面。
Simulink界面主要由工具栏、模型窗口和浏览器窗口组成。
工具栏上的各种按钮可以帮助用户进行模型的构建和仿真。
模型窗口用于进行模型的可视化编辑,用户可以从浏览器中选择模型中的各个组件进行添加和连接。
在开始使用Simulink之前,我们建议用户先了解一些基本概念和术语。
Simulink中的基本组成单位是模块,模块可以是输入、输出、运算器、信号转换器等。
这些模块可以通过连线连接起来,形成一个完整的系统模型。
模块间的信号传递可以是连续的、离散的或者混合的。
在Simulink中,用户可以通过选择不同的模块和参数来构建自己需要的系统模型。
Simulink有很多强大的功能,其中之一是仿真功能。
用户可以设置各种参数来对系统模型进行仿真,比如时间步长、仿真时长等。
Simulink会根据用户设定的参数对系统模型进行仿真,并产生仿真结果。
用户可以通过可视化界面查看仿真结果,也可以将仿真结果保存为数据文件和图形文件。
另外,Simulink还提供了各种调试工具和分析工具,帮助用户对系统模型进行诊断和优化。
除了系统建模和仿真功能,Simulink还可以与其他Matlab工具和工具箱进行集成。
用户可以在Simulink中调用Matlab函数和脚本,也可以使用不同的工具箱来扩展Simulink的功能。
Simulink还支持与外部硬件的连接和通信,比如数据采集卡、控制器等。
总之,Matlab Simulink是一个功能强大、易于使用的系统建模和仿真工具。
通过Simulink,用户可以通过图形化界面来构建和仿真复杂的系统模型,同时还可以进行调试和优化。
matlab simulink模型搭建方法Matlab Simulink是一个强大的多领域仿真和模型搭建环境,广泛应用于控制系统、信号处理、通信系统等多个领域。
本文将详细介绍Matlab Simulink模型搭建的方法,帮助您快速掌握这一技能。
一、Simulink基础操作1.启动Simulink:在Matlab命令窗口输入“simulink”,然后按回车键,即可启动Simulink。
2.创建新模型:在Simulink开始页面,点击“新建模型”按钮,或在菜单栏中选择“文件”→“新建”→“模型”,创建一个空白模型。
3.添加模块:在Simulink库浏览器中,找到所需的模块,将其拖拽到模型窗口中。
4.连接模块:将鼠标光标放在一个模块的输出端口上,按住鼠标左键并拖拽到另一个模块的输入端口,松开鼠标左键,完成模块间的连接。
5.参数设置:双击模型窗口中的模块,可以设置模块的参数。
6.模型仿真:在模型窗口中,点击工具栏上的“开始仿真”按钮,或选择“仿真”→“开始仿真”进行模型仿真。
二、常见模块介绍1.源模块:用于生成信号,如Step、Ramp、Sine Wave等。
2.转换模块:用于信号转换和处理,如Gain、Sum、Product、Scope 等。
3.控制模块:用于实现控制算法,如PID Controller、State-Space等。
4.建模模块:用于构建物理系统的数学模型,如Transfer Fcn、State-Space等。
5.仿真模块:用于设置仿真参数,如Stop Time、Solver Options等。
三、模型搭建实例以下以一个简单的线性系统为例,介绍Simulink模型搭建过程。
1.打开Simulink,创建一个空白模型。
2.在库浏览器中找到以下模块,并将其添加到模型窗口中:- Sine Wave(正弦波信号源)- Transfer Fcn(传递函数模块)- Scope(示波器模块)3.连接模块:- 将Sine Wave的输出端口连接到Transfer Fcn的输入端口。
如何使用MATLABSimulink进行动态系统建模与仿真如何使用MATLAB Simulink进行动态系统建模与仿真一、引言MATLAB Simulink是一款强大的动态系统建模和仿真工具,广泛应用于各个领域的工程设计和研究中。
本文将介绍如何使用MATLAB Simulink进行动态系统建模与仿真的方法和步骤。
二、系统建模1. 模型构建在MATLAB Simulink中,可以通过拖拽模块的方式来构建系统模型。
首先,将系统的元件和子系统模块从库中拖拽到模型窗口中,然后连接这些模块,形成一个完整的系统模型。
2. 参数设置对于系统模型的各个组件,可以设置对应的参数和初始条件。
通过双击模块可以打开参数设置对话框,可以设置参数的数值、初始条件以及其他相关属性。
3. 信号连接在模型中,各个模块之间可以通过信号连接来传递信息。
在拖拽模块连接的同时,可以进行信号的名称设置,以便于后续仿真结果的分析和显示。
三、系统仿真1. 仿真参数设置在进行系统仿真之前,需要设置仿真的起止时间、步长等参数。
通过点击仿真器界面上的参数设置按钮,可以进行相关参数的设置。
2. 仿真运行在设置好仿真参数后,可以点击仿真器界面上的运行按钮来开始仿真过程。
仿真器将根据设置的参数对系统模型进行仿真计算,并输出仿真结果。
3. 仿真结果分析仿真结束后,可以通过查看仿真器界面上的仿真结果来分析系统的动态特性。
Simulink提供了丰富的结果显示和分析工具,可以对仿真结果进行绘图、数据处理等操作,以便于对系统模型的性能进行评估。
四、参数优化与系统设计1. 参数优化方法MATLAB Simulink还提供了多种参数优化算法,可以通过这些算法对系统模型进行优化。
可以通过设置优化目标和参数范围,以及定义参数约束条件等,来进行参数优化计算。
2. 系统设计方法Simulink还支持用于控制系统、信号处理系统和通信系统等领域的特定设计工具。
通过这些工具,可以对系统模型进行控制器设计、滤波器设计等操作,以满足系统性能要求。
matlab之simulink最通俗教程Simulink是MATLAB的一个重要工具箱,用于建模和仿真控制系统。
Simulink提供了一种图形化建模环境,可以方便地构建复杂系统,并对其进行仿真和分析。
本文将详细介绍Simulink的基本原理和使用方法,以便初学者快速入门。
Simulink模型由各种模块组成,这些模块可以是系统组件、数学算法或信号处理函数。
用户可以使用Simulink库中的预定义模块,也可以自己编写MATLAB函数来创建自定义模块。
模块之间的连接通过信号线进行,可以传递各种类型的信号,如数值、布尔值和字符串。
使用Simulink建模的第一步是创建一个新模型。
在MATLAB命令窗口中输入“simulink”命令即可打开Simulink库浏览器。
然后,可以从左侧的“Simulink Library Browser”面板中拖动所需的模块到模型窗口中。
常用的模块包括输入输出模块、数学运算模块和逻辑控制模块。
在模型中添加模块后,可以使用鼠标将它们连接在一起。
要创建连接线,只需点击模块输出端口并将鼠标拖动到另一个模块的输入端口。
连接线将自动连接两个模块,形成信号传递路径。
连接线上可以添加箭头标记,用于指定信号的流动方向。
模型的参数和设置可以在模型窗口的右侧“Properties”面板中进行调整。
例如,可以设置模块的初始状态、仿真时间范围和采样时间。
还可以为模块添加注释、设置显示颜色和调整模块大小等。
Simulink提供了多种仿真和分析工具,用于评估模型的性能和行为。
可以使用“Simulate”按钮开始仿真并观察模型的实时响应。
仿真结果可以以图表或波形图的形式显示,并可以保存和导出到MATLAB工作空间中进行后续处理。
还可以使用模型验证和优化工具来检查模型的准确性和效率。
除了基本的建模和仿真功能外,Simulink还支持代码生成和硬件连接。
可以将Simulink模型转换为C代码,并嵌入到嵌入式系统中。
simulink 用法
Simulink是MATLAB的一个附加组件,用于建模、模拟和分析动态系统。
以下是Simulink的一些基本用法:
1. 打开Simulink:在MATLAB命令窗口中输入“simulink”,然后按Enter键。
这将打开Simulink的库浏览器。
2. 创建新模型:在Simulink的库浏览器中,单击“Blank Model”,然后双击“New Model”。
这将打开一个新的Simulink模型窗口。
3. 添加模块:在Simulink模型窗口中,单击“Library Browser”按钮,然后浏览并选择所需的模块。
您可以通过单击模块并将其拖到模型窗口中来添加模块。
4. 连接模块:在模型窗口中,单击并拖动模块的端点以连接它们。
Simulink会自动为这些模块生成连接线。
5. 配置模块参数:双击您要配置的模块,然后选择“Parameters”选项卡。
您可以在这里设置模块的参数。
6. 运行模型:在模型窗口中,单击“Run”按钮以运行模型。
Simulink 将模拟模型的动态行为,并在“Scope”模块中显示结果。
7. 保存模型:在模型窗口中,单击“File”菜单,然后选择“Save”以保存您的模型。
这只是Simulink的一些基本用法。
Simulink还提供了许多其他功能和工具,例如信号查看器、仿真配置、子系统等。
要了解更多关于
Simulink的信息,请参考MATLAB的官方文档或教程。
MATLABSimulink联合仿真指南MATLAB Simulink联合仿真指南第一章:MATLAB和Simulink概述1.1 MATLAB的介绍1.1.1 MATLAB的起源和发展1.1.2 MATLAB的基本特点和优势1.1.3 MATLAB的应用领域1.2 Simulink的介绍1.2.1 Simulink的基本概念和原理1.2.2 Simulink在系统建模和仿真中的应用1.2.3 Simulink与其他仿真软件的比较1.3 MATLAB和Simulink的关系1.3.1 MATLAB和Simulink的协同工作原理1.3.2 MATLAB和Simulink的应用场景第二章:MATLAB基础2.1 MATLAB语言基础2.1.1 MATLAB的数据类型和变量2.1.2 MATLAB的基本运算和函数2.1.3 MATLAB的控制结构2.2 MATLAB图形界面2.2.1 MATLAB的命令窗口和编辑器 2.2.2 MATLAB的图形窗口和绘图工具2.3 MATLAB的数据处理与分析2.3.1 数据导入和导出2.3.2 数据操作和处理2.3.3 数据可视化第三章:Simulink基础3.1 Simulink的基本组成3.1.1 模型、系统和信号的概念3.1.2 Simulink模型的创建和编辑3.1.3 Simulink模型的参数设置3.2 Simulink的基本元素3.2.1 Simulink的信号类型和传输线3.2.2 Simulink的模块和子系统3.2.3 Simulink的运算器和逻辑门3.3 Simulink的仿真过程3.3.1 仿真参数的设置3.3.2 仿真的执行和结果分析3.3.3 仿真模型的调试和优化第四章:MATLAB和Simulink的联合应用4.1 MATLAB与Simulink的数据交互4.1.1 数据导入和导出的方法4.1.2 数据传输和共享的技巧4.1.3 数据处理和分析的整合4.2 MATLAB和Simulink的调用和扩展4.2.1 MATLAB函数在Simulink中的应用4.2.2 Simulink模型的MATLAB脚本控制4.2.3 Simulink模型的自定义函数和库4.3 MATLAB和Simulink的联合仿真案例分析 4.3.1 电路系统仿真4.3.2 控制系统仿真4.3.3 信号处理系统仿真第五章:MATLAB和Simulink的高级应用5.1 MATLAB在系统设计和优化中的应用5.1.1 优化算法和工具的使用5.1.2 系统性能评估和参数调整5.1.3 系统设计的可视化和交互5.2 Simulink在实时仿真和硬件连接中的应用5.2.1 实时仿真的基本概念和要素5.2.2 Simulink和硬件连接的方法和工具5.2.3 实时仿真案例分析5.3 MATLAB和Simulink在自动化测试和验证中的应用 5.3.1 自动化测试的需求和挑战5.3.2 MATLAB和Simulink在测试自动化中的应用5.3.3 测试验证的案例和结果结语:MATLAB Simulink联合仿真的前景和发展6.1 MATLAB Simulink在工程教学和研究中的意义6.2 MATLAB Simulink的应用前景和发展趋势参考文献注:以上章节的标题仅为示例,具体内容和顺序可根据实际情况进行调整。
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模块的输入端口相连。
simulink转换为matlab代码Simulink是一个用于模型驱动设计的工具,可以帮助工程师在Matlab环境中进行系统级建模、仿真和分析。
在Simulink中建立的模型可以通过生成Matlab代码来进一步进行分析和优化。
本文将介绍如何将Simulink模型转换为Matlab代码,以便读者了解如何在Matlab中使用Simulink模型。
打开Simulink并加载您要转换为Matlab代码的模型。
确保模型已经完成并准备好进行转换。
然后,点击Simulink界面上的“Tools”菜单,选择“Model Verification”选项。
在弹出的对话框中,选择“Generate Report”选项,并在下拉菜单中选择“Model to Code”选项。
点击“Generate”按钮,系统将自动生成Matlab代码。
生成的Matlab代码将包括模型中的所有组件和参数设置。
您可以将代码保存为.m文件,以便在Matlab环境中进行加载和修改。
在Matlab中打开生成的代码文件,您将看到与Simulink模型相对应的Matlab脚本。
您可以根据需要修改代码,并在Matlab命令窗口中运行以验证模型的功能。
通过将Simulink模型转换为Matlab代码,您可以更方便地在Matlab中进行模型分析和优化。
您可以使用Matlab的各种工具和函数来进一步处理模型,并与其他Matlab代码集成。
这种转换还可以帮助您更好地理解模型的结构和行为,从而更好地优化系统设计。
将Simulink模型转换为Matlab代码是一个简单而有效的方法,可以帮助工程师更好地利用Matlab的功能来分析和优化系统设计。
通过这种转换,您可以更好地理解和处理模型,提高工作效率并优化系统性能。
希望本文对您有所帮助,谢谢阅读!。
使用篇1.以管理员身份运行matlab2.登录后把当前文件夹改成C盘,找到TwinCAT→Functions→TE1400→SetupTwinCATTarget.p3.找到这个文件后右键选择Run,注意:这一步是为了选择matlabsimulink编译的module所需要的编译器种类,是第一次运行使用matlab+TE1400的时候必须执行的,以后就不必每次都操作这一步。
运行后在matlab主窗口提示让你选择是否用本地的编译器因为本地有VS2010的编译器,所以选择y后敲回车随后matlab找到本地有两种编译器,一个是matlab本体的lcc-win32 C2.4.1,另一个是VS2010,选择VS2010所代表的数字,输入2敲回车最后让matlab让你确认编译器的选择,输入y敲回车提示以下信息说明编译器选择完成4.点击工具栏中simulink图标5.弹出simulink编辑界面后,点击工具栏中的打开模型6.找到案例模型TempContrTest.mdl,点击打开7.本次案例模型是一个简单的温度控制External Setpoint是设定温度Feedback Temp是当前温度CoolerON是开关量输出8.打开simulation菜单栏,选择configuration parameters进行参数设定(1)进入参数设定后,选择右边的树形栏中的Solver,把其中的Type改成Fixed-step(2)之后选择树形栏中的Code Generation,把其中的System target file改成TwinCAT.tlc 点击Browse可以进行选择(3)继续选择树形栏中的Tc Module,在Publish module和Publish binaries for platform “TwinCAT RealTime(x86)”前打勾(4)最后选择树形栏中的Tc Advanced,把Task assignment改成Default在Add to cyclic caller,Variable cycle time,Export block digram以及Export block diagram debug information前打勾(5)以上操作完成后点击左下角的Apply(6)选择树形栏中的Code Generation,把Generate code only勾选后点击Generate code,随后matlab就开始把这个模型通过TE1400生成TC3所识别的Module了(7)回到matlab主窗口,等看到以下提示说明Module生成完成(8)我们来看下生成的Module会在什么位置可以发现在TwinCAT/3.1/CustomConfig/Modules路径下会生成名字和案例模型名字一样的文件夹TempContrTest打开可以发现里面其实主要是.tmc文件是TC3所需要的,其他都是一些描述文件,所以可以把.tmc文件拷贝出来,给一些没有Matlab的电脑上用9.打开TC3,并新建项目10.把名称改成英文,例如matlabsimulink,点击确认11.打开SYSTEM,右键TcCOM Objects添加新项12.TC3会自动找到之前生成的.tmc文件,选中后点击OK进行添加13.添加好后我们可以发现TcCOM Objects下出现matlab生成的Module,并且3个变量出现在IO位置,方便和PLC程序或者硬件IO进行变量连接14.右键Tasks添加新项名字可以改成matlab,点击OK添加新的Task15.因为我需要实施做温度计算,所以可以这个Task的优先级提高,修改成1,周期用默认的10ms即可16.双击TcCOM Objects下面的Object1(TempContrTest)Depend On改成Manual Config,并把Task分配成之前创建的名为“matlab”的Task17.右键PLC添加新项18.把名称修改为英文,例如test19.编辑一段模拟程序,模拟温度的升降20.程序写好后右键test Project,选择生成开始编译程序21.编译好后在test Instance自动生成3个变量22.接下来要做的就是把PLC中3个变量和matlab中三个变量链接起来Switch→CoolerONSP→External SetpointPV Feedback Temp23.变量链接完成后开始下传配置和程序,选择菜单栏TwinCAT,点击Activate Configuration弹出窗口点击确定提示切换到运行模式点击确定观察右下角图标是否编程绿色运行状态弹出窗口点击确定提示切换到运行模式点击确定观察右下角图标是否编程绿色运行状态24.打开PLC菜单,选择“登录到”把程序在线25.打开PLC菜单,选择“启动”把程序运行26.观察程序,看到成功利用matlab温度算法运行程序27.打开Object1(TempContrTest),选择Block Diagram也可以同时观察Matlab温度算法实时状态注:上图中可以看到由一个红色字提示说是非商业的,虽然TE1400插件装上了,但用的还是7天试用版,所以对于试用版有一些限制,查询information system可以看到如下:TC3中Scope View简单使用在之前的基础上来看下TC3下Scope View如何使用,装好TC3后Scope View会自动集成在TC3中1.首先右键“解决方案”选择添加,点击新建项目2.选择TwinCAT Measurement中的Measurement Scope Project,名称改成英文,例如tempcontrol,点击确定3.右键Axis,选择Target Browser4.打开小电脑图标下的Port_851(851),点击MAIN5.把MAIN程序中PV和SP分别添加到同一个坐标上6.保证程序在运行后,点击工具栏中的Record开始记录两个变量7.随后就可以观察到当前PV和SP的示波图下图中绿色是PV,蓝色是SP。
第7章Simulink仿真环境Simulink是面向框图的仿真软件。
7.1演示一个Simulink的简单程序【例7.1】创建一个正弦信号的仿真模型。
步骤如下:(1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。
图7.1 Simulink界面(2) 单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。
(3) 在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。
(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“Sine Wave”模块就被添加到untitled窗口;也可以用鼠标选中“Sine Wave”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave”模块添加到untitled窗口,如图7.2所示。
图7.2 Simulink界面(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。
(6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。
如图7.3所示。
(7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。
双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。
Simulink中matlabfunction用法1. 简介Simulink是一种用于建立、模拟和分析动态系统的图形化编程环境,而matlabfunction是Simulink中的一个函数块,它允许用户在模型中使用自定义的MATLAB代码。
matlabfunction函数块可以在Simulink模型中嵌入MATLAB函数,并将其作为模型的一部分进行仿真。
2. matlabfunction函数块的基本用法2.1 添加matlabfunction函数块在Simulink模型中添加matlabfunction函数块的方法如下:1.打开Simulink模型。
2.在工具栏上选择”Library Browser”。
3.在Library Browser窗口中,选择”MATLAB Function”库。
4.将matlabfunction函数块拖动到模型窗口。
2.2 编写MATLAB代码在matlabfunction函数块内编写MATLAB代码的步骤如下:1.双击matlabfunction函数块打开编辑器。
2.在编辑器中输入MATLAB代码。
这些代码可以包含变量、算术运算、条件语句、循环等等。
3.确保代码正确无误,并保存文件。
2.3 连接输入和输出端口matlabfunction函数块通常需要与其他Simulink模块进行连接。
连接输入和输出端口的方法如下:1.在matlabfunction函数块上右键单击,选择”Add Input”或”AddOutput”。
2.通过拖动连接线将输入和输出端口连接到其他模块。
3. matlabfunction函数块的高级用法3.1 输入参数和输出参数matlabfunction函数块支持输入参数和输出参数的使用。
输入参数可以作为函数的输入变量,而输出参数可以作为函数的返回值。
在matlabfunction函数块中定义输入参数和输出参数的步骤如下:1.在matlabfunction函数块上右键单击,选择”Edit Data Properties”。
simulink中matlabfunction用法(一)Simulink中matlabfunction用法简介Simulink中的matlabfunction是一种模块,在模型中使用Matlab代码实现自定义的算法或功能。
它可以帮助用户扩展Simulink 库功能,使其更加灵活、强大。
基本用法1.添加matlabfunction模块在Simulink模型中,找到Simulink Library Browser,展开Simulink文件夹,然后将matlabfunction模块拖动到编辑区。
2.编写Matlab代码双击matlabfunction模块,进入编辑界面,编写自定义的Matlab代码。
可以使用Matlab语言的全部功能。
3.输入输出在模块界面,用户可以定义输入和输出。
可以指定输入端口数目、名称和类型。
同样可以定义输出端口数目、名称和类型。
高级用法1.多输入输出在matlabfunction模块中,可以定义多个输入和输出。
只需在输入输出界面添加相应的输入输出端口即可。
2.参数传递可以向matlabfunction模块传递参数。
在模块界面添加参数输入端口,并在代码中使用这些参数。
3.构建矩阵和向量matlabfunction模块支持构建矩阵和向量的操作。
用户可以在Matlab代码中使用矩阵和向量的各种操作,如矩阵相乘、转置等。
4.使用Simulink信号可以使用信号或信号线连接到matlabfunction模块中的输入端口,以及从matlabfunction模块输出到信号线。
5.参数设置在Simulink模型中,可以通过设置参数,修改matlabfunction模块的行为。
例如,可以设置代码生成选项或优化选项。
总结通过matlabfunction模块,我们可以在Simulink模型中使用自定义的Matlab代码,实现更丰富的功能。
它的灵活性和强大性使得Simulink模型更加适应各种应用场景。
第7章Simulink仿真环境Simulink是面向框图的仿真软件。
7.1演示一个Simulink的简单程序【例7.1】创建一个正弦信号的仿真模型。
步骤如下:(1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。
图7.1 Simulink界面(2) 单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。
(3) 在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。
(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“Sine Wave”模块就被添加到untitled窗口;也可以用鼠标选中“Sine Wave”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave”模块添加到untitled窗口,如图7.2所示。
图7.2 Simulink界面(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。
(6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。
如图7.3所示。
(7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。
双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。
如图7.4所示。
(8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl ”文件。
7.2 Simulink 的文件操作和模型窗口7.2.1 Simulink 的文件操作1. 新建文件新建仿真模型文件有几种操作:▪ 在MA TLAB 的命令窗口选择菜单“File ”→“New ”→“Model ”。
▪ 在图7.1的Simulink 模块库浏览器窗口选择菜单“File ”→“New ”→“Model ”,或者单击工具栏的图标。
▪在图7.3的Simulink 模型窗口选择菜单“File ”→“New ”→“Model ”,或者单击工具栏的图标。
2. 打开文件打开仿真模型文件有几种操作:▪ 在MA TLAB 的命令窗口输入不加扩展名的文件名,该文件必须在当前搜索路径中,例如输入“Ex0701”。
▪ 在MA TLAB 的命令窗口选择菜单“File ”→Open …”或者单击工具栏的图标打开文件。
▪在图7.1的Simulink 模块库浏览器窗口选择菜单“File ”→“Open …”或者单击工具栏的图标打开“.mdl ”文件。
图7.3 Simulink 模型窗口图7.4 示波器窗口▪ 在图7.3的Simulink 模型窗口中选择菜单“File ”→“Open …”或者单击工具栏的图标打开文件。
7.2.2 Simulink 的模型窗口模型窗口由菜单、工具栏、模型浏览器窗口、模型框图窗口以及状态栏组成。
1. 状态栏2. 工具栏模型窗口工具栏如图7.6所示。
3. 菜单Simulink 的模型窗口的常用菜单如表7.1所示。
图7.5 双窗口模型窗口表7.1模型窗口常用菜单表7.3 模型的创建7.3.1模块的操作1. 对象的选定▪选定单个对象选定对象只要在对象上单击鼠标,被选定的对象的四角处会出现小黑块编辑框。
▪选定多个对象如果选定多个对象,可以按下Shift键,然后再单击所需选定的模块;或者用鼠标拉出矩形虚线框,将所有待选模块框在其中,则矩形框中所有的对象均被选中,如图7.7所示。
图7.7 选定多个对象▪选定所有对象如果要选定所有对象,可以选择菜单“Edit”→“Select all”。
2. 模块的复制(1) 不同模型窗口(包括模型库窗口)之间的模块复制▪选定模块,用鼠标将其拖到另一模型窗口。
▪选定模块,使用菜单的“Copy”和“Paste”命令。
▪选定模块,使用工具栏的“Copy”和“Paste”按钮。
(2) 在同一模型窗口内的复制模块(如图7.8所示)▪选定模块,按下鼠标右键,拖动模块到合适的地方,释放鼠标。
▪选定模块,按住Ctrl键,再用鼠标拖动对象到合适的地方,释放鼠标。
▪使用菜单和工具栏中的“Copy”和“Paste”按钮。
图7.8 在同一模型窗口复制对象3. 模块的移动▪在同一模型窗口移动模块选定需要移动模块,用鼠标将模块拖到合适的地方。
▪在不同模型窗之间移动模块在不同模型窗之间移动模块,在用鼠标移动的同时按下Shift键。
当模块移动时,与之相连的连线也随之移动。
4. 模块的删除要删除模块,应选定待删除模块,按Delete键;或者用菜单“Edit”→“Clear”或“Cut”;或者用工具栏的“Cut”按钮。
5. 改变模块大小选定需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可以实现放大或缩小。
6. 模块的翻转▪模块翻转180度选定模块,选择菜单“Format”→“Flip Block”可以将模块旋转180度,如同7.9中间为翻转180度示波器模块。
▪模块翻转90度选定模块,选择菜单“Format”→“Rotate Block”可以将模块旋转90度,如图7.9右边示波器所示。
如果一次翻转不能达到要求,可以多次翻转来实现。
图7.9 翻转模块7. 模块名的编辑▪修改模块名单击模块下面或旁边的模块名,出现虚线编辑框就可对模块名进行修改。
▪模块名字体设置选定模块,选择菜单“Format”→“Font”,打开字体对话框设置字体。
▪模块名的显示和隐藏选定模块,选择菜单“Format”→“Hide /Show name”,可以隐藏或显示模块名。
▪模块名的翻转选定模块,选择菜单“Format”→“Flip name”,可以翻转模块名。
7.3.2信号线的操作1. 模块间连线先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另一模块的输入端。
2. 信号线的分支和折曲(1) 分支的产生将光标指向信号线的分支点上,按鼠标右键,光标变为十字符,拖动鼠标直到分支线的终点,释放鼠标;或者按住Ctrl键,同时按下鼠标左键拖动鼠标到分支线的终点,如图7.10所示。
图7.10 信号线的分支(2) 信号线的折线选中已存在的信号线,将光标指向折点处,按住Shift键,同时按下鼠标左键,当光标变成小圆圈时,用鼠标拖动小圆圈将折点拉至合适处,释放鼠标,如图7.11所示。
图7.11 信号线的折线3. 信号线文本注释(label)▪添加文本注释双击需要添加文本注释的信号线,则出现一个空的文字填写框,在其中输入文本。
▪修改文本注释单击需要修改的文本注释,出现虚线编辑框即可修改文本。
▪移动文本注释单击标识,出现编辑框后,就可以移动编辑框。
▪复制文本注释单击需要复制的文本注释,按下Ctrl键同时移动文本注释,或者用菜单和工具栏的复制操作。
4. 在信号线中插入模块如果模块只有一个输入端口和一个输出端口,则该模块可以直接被插入到一条信号线中。
7.3.3给模型添加文本注释(1) 添加模型的文本注释在需要当作注释区的中心位置,双击鼠标左键,就会出现编辑框,在编辑框中就可以输入文字注释。
(2) 注释的移动在注释文字处单击鼠标左键,当出现文本编辑框后,用鼠标就可以拖动该文本编辑框。
7.4 Simulink的基本模块7.4.1基本模块Simulink的基本模块包括9个子模块库。
1.输入信号源模块库(Sources)输入信号源模块是用来向模型提供输入信号。
常用的输入信号源模块源如表7.2所示。
表7.2 常用的输入信号源模块表恒值常数,可设置数值阶跃信号线性增加或减小的信号正弦波输出Signal Generator 信号发生器,可以产生正弦、方波、锯齿波和随机波信号从文件获取数据From Workspace 从当前工作空间定义的矩阵读数据仿真时钟,输出每个仿真步点的时间输入模块2. 接收模块库(Sinks)接收模块是用来接收模块信号的,常用的接收模块如表7.3所示。
表7.3 常用的接收模块表示波器,显示实时信号实时数值显示显示把数据保存为文件把数据写成矩阵输出到工作空间Stop Simulation 输入不为零时终止仿真,输出模块3. 连续系统模块库(Continuous)连续系统模块是构成连续系统的环节,常用的连续系统模块如表7.4所示。
表7.4 常用的连续系统模块表积分环节微分环节状态方程模型传递函数模型零—极点增益模型把输入信号按给定的时间做延时4. 离散系统模块库(Discrete)离散系统模块是用来构成离散系统的环节,常用的离散系统模块如表7.5所示。
表7.5 常用的离散系统模块表Discrete Transfer Fcn 离散传递函数模型离散零极点增益模型离散状态方程模型离散滤波器零阶保持器一阶保持器采样保持,延迟一个周期7.4.2常用模块的参数和属性设置1. 模块参数设置(1) 正弦信号源(Sine Wave) 双击正弦信号源模块,会出现如图7.13所示的参数设置对话框。
图7.13的上部分为参数说明,仔细阅读可以帮助用户设置参数。
Sine type 为正弦类型,包括Time-based 和Sample-based ;Amplitude 为正弦幅值;Bias 为幅值偏移值;Frequency 为正弦频率;Phrase 为初始相角;Sample time为采样时间。
(2) 阶跃信号源(Step)阶跃信号模块是输入信号源,其模块参数对话框如图7.14所示。
其中:Step time 为阶跃信号的变化时刻,initial value 为初始值,Final value 为终止值,Sample time 为采样时间。
(3) 从工作空间获取数据(From workspace)从工作空间获取数据模块的输入信号源为工作空间。
【例7.2】在工作空间计算变量t 和y ,将其运算的结果作为系统的输入。
t=0:0.1:10; y=sin(t); t=t';y=y';然后将“From Workspace ”模块的参数设置对话框打开,如图7.15(a)所示,在“Data ”栏填写“[t,y]”,单击“OK ”按钮完成。
则在模型窗口中该模块就显示为图7.15(b)。