MATLAB与数值分析第一部分-Simulink建模与仿真基础
matlab simulink设计与建模-概述说明以及解释
matlab simulink设计与建模-概述说明以及解释1.引言1.1 概述概述部分的内容可以描述该篇文章的主题和内容的重要性。
可以参考以下写法:引言部分首先概述了文章的主要内容和结构,主要涉及Matlab Simulink的设计与建模方法。
接下来,我们将详细介绍Matlab Simulink 的基本概念、功能和应用,并探讨其在系统设计和仿真建模中的重要性。
本文旨在向读者提供一种全面了解Matlab Simulink的方法,并帮助他们在实际工程项目中运用该工具进行系统设计和模拟。
通过本文的阅读,读者将能够深入了解Matlab Simulink的优势和特点,并学会如何使用其开发和设计各种复杂系统,从而提高工程的效率和准确性。
在接下来的章节中,我们将重点介绍Matlab Simulink的基本概念和设计方法,以及实际案例的应用。
最后,我们将通过总结现有的知识和对未来发展的展望,为读者提供一个全面的Matlab Simulink设计与建模的综合性指南。
1.2文章结构1.2 文章结构本文将以以下几个部分展开对MATLAB Simulink的设计与建模的讨论。
第一部分是引言部分,其中概述了本文的主要内容和目的,并介绍了文章的结构安排。
第二部分是正文部分,主要包括MATLAB Simulink的简介和设计与建模方法。
在MATLAB Simulink简介部分,将介绍该软件的基本概念和功能特点,以及其在系统设计和建模中的优势。
在设计与建模方法部分,将深入讨论MATLAB Simulink的具体应用技巧和方法,包括系统建模、模块化设计、信号流图、仿真等方面的内容。
第三部分是结论部分,主要总结了本文对MATLAB Simulink设计与建模的讨论和分析,并对其未来的发展方向进行了展望。
通过以上结构安排,本文将全面介绍MATLAB Simulink的设计与建模方法,以期为读者提供一个全面而系统的了解,并为相关领域的研究和应用提供一些借鉴和参考。
详解MATLAB/SIMULINK 通信系统建模与仿真资料
本章内容
1.1 MATLAB简介 1.2 MATLAB程序设计 1.3 通信系统仿真
1.1 MATLAB简介
● 数值计算和符号计算功能 ● 具有很好的图形功能 ● 可以直接处理声言和图像文件 ● 具有功能强大的工具箱 ● 使用方便,具有很好的扩展功能 ● Simulink
1.2.2 MATLAB的帮助系统
● 查看命令或函数帮助 ● 联机帮助系统 ● PDF文件帮助系统 ● MATLAB网络资源
1.2.3 MATLAB的基本操作
数据类型
• (1)变量与赋值 • (2)变量的删除与修改 • (3)局部变量和全局变量
矩阵
• (1) 一般矩阵的生成 • (2)特殊矩阵的生成
1.2.5.5 用户参数交互输入
input函数用于向计算机输入一个参数 pause函数暂停程序的执行 disp函数是向命令窗口输出提示信息
1.2.6 文件操作
文件的打开与关闭
• fopen函数 、fclose函数
文件的读写操作
• fread 、fwrite 、fscanf 、fprintf
矩阵运算
1.2.4 MATLAB图形处理和数据可视化
plot函数
subplot函数 多图形窗口 hold命令 对数坐标图形
1.2.5 M文件编程
M脚本文件 函数文件 函数调用和参数传递 matlab的程序结构 用户参数交互输入
1.2.5.1 M脚本文件
1.2.5.4 matlab的程序结构
顺序结构 — 依次顺序执行程序的各条语句 循环结构 — 被重复执行的一组语句,循环是 计算机解决问题的主要手段。 分支结构 — 根据一定条件来执行的各条语句。
Matlab系列之Simulink仿真教程
交互式仿真
Simulink支持交互式 仿真,用户可以在仿 真运行过程中进行实 时的分析和调试。
可扩展性
Simulink具有开放式 架构,可以与其他 MATLAB工具箱无缝 集成,从而扩展其功 能。
Simulink的应用领域
指数运算模块
用于实现信号的指数运算。
减法器
用于实现两个信号的减法 运算。
除法器
用于实现两个信号的除法 运算。
对数运算模块
用于实现信号的对数运算。
输出模块
模拟输出模块
用于将模拟信号输出 到外部设备或传感器。
数字输出模块
用于将数字信号输出 到外部设备或传感器。
频谱分析仪
用于分析信号的频谱 特性。
波形显示器
控制工程
Simulink在控制工程领域 中应用广泛,可用于设计 和分析各种控制系统。
信号处理
Simulink中的信号处理模 块可用于实现各种信号处 理算法,如滤波器设计、 频谱分析等。
通信系统
Simulink可以用于设计和 仿真通信系统,如调制解 调、信道编码等。
图像处理
Simulink中的图像处理模 块可用于实现各种图像处 理算法,如图像滤波、边 缘检测等。
用于将时域信号转换为频域信号,如傅里叶变换、 拉普拉斯变换等。
03 时域变换模块
用于将频域信号转换为时域信号,如逆傅里叶变 换、逆拉普拉斯变换等。
04
仿真过程设置
仿真时间的设置
仿真起始时间
设置仿真的起始时间,通 常为0秒。
步长模式
选择固定步长或变步长模 式,以满足不同的仿真需 求。
数字仿真技术——matlab与simulink基础
Graph annotation. plotedit - Tools for editing …. ...
Elementary 3-D plots. plot3 - Plot lines… in 3-D space.
电气信息学院
数字仿真技术——Matlab与Simulink基础
矩阵运算
关系运算
逻辑运算
电气信息学院
MATLAB数值运算
>>a=1:9; >>b=a>4 b= 000011111
c=(a>4)&(a<7) c= 000011000
数字仿真技术——Matlab与Simulink基础
矩阵操作:
MATLAB数值运算
电气信息学院
数字仿真技术——Matlab与Simulink基础
MATLAB绘图功能
MATLAB具有丰富的二维和三维绘图命令/函数
>> help graph2d Two dimensional graphs.
>> help graph3d Three dimensional graphs.
Elementary X-Y graphs. plot - Linear plot. loglog - Log-log scale plot. polar - Polar coordinate plot. …
2.35619746669214
»xzero=fzero(fx,5) xzero =
4.71238898038469 »xzero=fzero(fx,2) xzero = 电气信1.息57学07院9632679490
MATLAB基础教程第11章 simulink建模与仿真
S函数允许用户向模型中添加自己编写的模块,只要按照一些简单的 规制,就可以在S-Functions添加设计算法。在编写好S-Functions 之后就可以在S-Functions莫窥阿中添加相应得函数名,也可以通过 封装技术来订制自己的交互界面。
在MATLAB的命令窗口中选择File | New | New Model菜单项;
2019年9月3日
第7页
MATLAB R2010a 基础教程
清华大学出版社
Simulink 模块的操作(1/2)
在Simulink的空白模型窗口中,搭建Simulink的模型主 要是通过用线将各种功能模块连接构成的。在Simulink中, 将两个模块相接非常简单,在每个允许输出的模块口都有 一个输出的>符号表示离开该模块,,而输入端也有一个 表示输入>的符号表示进入该模块。假如想将一个输入模 块和一个输出模块连接起来,那么只需要在前一个模块的 输出口处鼠标左键单击,然后拖动鼠标至另外一个模块的 输入口,松开鼠标左键,Simulink会自动将两个模块用线
在MATLAB的命令窗口中输入simulink,结 果是在桌面上出现一个Simulink Library Browser的窗口,如图11-1,在这个窗口 中列出了按功能分类的各种模块的名称。
单击MATLAB主窗口的快捷按钮 ,打开 Simulink Library Browser窗口 。
2019年9月3日
清华大学出版社
2019年9月3日
Simulink建模和仿真(基础版)
第七章Simulink建模和仿真 7.1 Simulink的概述和基本操作
注意:不要把模块保存到模块文件的次序与仿真过程模块被更新 的次序相混淆。Simulink在模块初始化时以将模块排好正确的次 序。
为了建立有效的更新次序,Simulink根据输入和输出的关系将模 块分类。其中,当前输出依赖于当前输入的模块称为直接馈入模 块,所有其他的模块都称为非虚拟模块。直接馈入模块的例子有 Gain、Product和Sum模块;非直接馈入模块的例子有 Integrator模块(它的输出只依赖于它的状态),Constant模块(没 有输入)和Memory模块(它的输出只依赖于前一个模块的输入)。
7.1.2 基本操作 一、模型基本结构 一个典型的Simulink模型包括如下三种类型的元素: ① 信号源模块 ② 被模拟的系统模块 ③ 输出显示模块
如图7.1.1所示说明了这三种元素之间的典型关系。系统 模块作为中心模块是Simulink仿真建模所要解决的主要部分; 信号源为系统的输入,它包括常数信号源函数信号发生器 (如正弦和阶跃函数波等)和用户自己在Matlab中创建的自 定义信号或Matlab工作间中三种。输出模块主要在Sinks库 中。
表7.2.3 Discrete库
7.2 基本模块
第七章 Simulink建模和仿真
表7.2.4 Continuous库
7.2 基本模块
第七章 Simulink建模和仿真
表
7.2.5 Math 库
7.2 基本模块
第七章 Simulink建模和仿真 7.2 基本模块
第七章 Simulink建模和仿真 7.2 基本模块
Simulink建模和仿真
在计算机技术飞速发展的今天,许多科学研究、工程设计由 于其复杂性越来越高,因此与计算机的接合日趋紧密。也正 是计算机技术的介入,改变了许多学科的结构、研究内容和 研究方向。例如,计算流体力学、计算物理学、计算声学等 新兴学科的兴起,均与计算机技术的发展分不开。控制理论、 仿真技术本身与计算机的接合就十分紧密,而随着专业领域 的研究深入和计算机软硬件技术的发展,这种联系呈现更加 紧密。计算控制论的建立,足以说明这个问题。而这种发展, 又以系统仿真技术的发展分不开的。
MatlabSimulink系统建模和仿真
本章内容
7.1 MATLAB编程仿真的方法 7.2 SIMULINK仿真基础 7.3 SIMULINK的工作原理 S-函数 7.4 用S-函数编写SIMULINK基本模块
7.5 SIMULINK仿真的数据结构和编程调用方法
7.6 SIMULINK在电子与通信系统仿真中的几个 关键问题 7.7 声卡在SIMULINK仿真模型中的应用
7.1.2 静态系统的Matlab编程仿真
静态系统的仿真过程就是相应的代数方程的数值计算或 求解过程。我们以幅度调制作为实例来讲解。
“实例7.1”试仿真得出一个幅度调制系统的输入输出波 形。设输入被调制信号是一个幅度为2v ,频率为 1000Hz的余弦波,调制度为0.5 ,调制载波信号是一个 幅度为5v ,频率为10KHz 的余弦波。所有余弦波的初 相位为0 。 (1)数学模型 根据题设,该调幅系统的输入输出关系表达式为
图:模拟真实示波器显示的调幅仿真波形,仿真中考虑了输 入信号与示波器扫描不同步,载波相位噪声以及加性信道噪 声的影响
7.1.3 连续动态系统的Matlab编程仿真 7.1.3.1 几个实例
“实例7.2”仿真电容的充电过程。 一个电压源通过电阻与电容串联的网络对电容充电。设t=0 为初始时刻 (初始时刻之前电路断开,不工作),电压源输出电压x(t) 为单位阶跃 函数,电容两端的电压为y(t) ,回路电流为i(t) ,并将电压源视为系统 输入,电容上的电压视为系统输出。电路的初始状态为y(0) 。如图。
(4)让输出波形‚动‛起来 我们来尝试这种一种更生动的仿真输出表现方式,并将仿真 模型推广到更实际的情况。考虑一个更接近真实物理系统的 调幅模型。考虑了相位噪声 n (t ) 的载波表达为 设信道是无衰减的,其加性噪声为n(t) ,那么在接收机所收 到的调幅信号r(t) 为r(t)=y(t)+n(t) 程序中,我们将仿真 时间区间划分为若干段,每段称为一帧,示波器的扫描周期 等于帧周期,即我们每仿真得出一帧的数据就让显示刷新一 次。程序中故意将输入被调信号的频率设臵为1005Hz ,这样 其信号周期就与仿真的帧周期不是整数倍关系,运行后将看 到‚不断‛滑动的被调信号,载波显示出相位抖动现象,而 接收信号则沾染了噪声。
6 MATLAB、SIMULINK系统建模设计与仿真基础_4
图:一个连续信号到离散信号转换以及离散速率转换测试模 型。图中,Zero-Order Hold的采样时间为1秒,Zero-Order Hold1的采样时间为2秒,而Unit Delay的采样时间为0.5秒。 仿真完成后,Probe模块中分别显示了所连接部分的信号采样 率。信号采样率为0表示连续信号
图:用Repeating Sequence模块由信号的离散时间样 值产生连续时间周期信号
2、离散时间信号 离散时间信号则定义在离散时间序列上,只有所定 义的离散时刻信号的取值才有意义。例如我们用基本 库Sources中的“Random Number”模块产生离散时间 随机信号,设置采样时间为1秒(默认值为0秒即产生 连续的随机信号)。建立测试模型,并设仿真时间段 从0秒到5秒,用示波器观察输出波形并将仿真结果数 据输出到Matlab工作空间,如下图所示,我们看到, 离散时间随机信号源每隔1秒输出一个随机的电平值, 虽然示波器上在非整数时刻上仍然显示了波形,但这 仅仅是为了方便观看而已,概念上没有意义。从输出 到Matlab工作空间的信号值看出,实质上离散信号是 对应于时间[0,1,2,3,4,5]的6个取值。
图:S-函数实现的信号源和封装结果
代数运算模块
图:S-函数和Fcn模块同时实现的对输入信号进行代数运算的测试模型和仿真结果
6.5 SIMULINK仿真的数据结构 和编程调用方法
图:信号属性检测的测试模型和仿真执行结果,Probe模块检测结果直接显示在模 块方框中,信号宽度为W:6,采样时间为Ts:[1,0],C:1表示是复信号,D:[2,3]是 信号的维数
图:用“Data Type Conversion”模块进 行数据类型转换的示例
“Reshape”模块的设置对话框和解释参见下图。
6 MATLAB、SIMULINK系统建模设计与仿真基础_2
[例6.1] (3)试用Simulink建立一个如下图所示的非 线性控制系统模型。
x1 x1 cos x2 x2 sin x1 2 x2 x1 x2 u y x 1
搭建的Simulink模型如下
[例6.1] (4)试用Simulink建立一个如下图所示的线 性时滞控制系统ቤተ መጻሕፍቲ ባይዱ型,并考察其单位阶跃响应。
搭建的Simulink模型如下:
自定义M函数文件s_t.m 表示阶跃信号y=s_t(t) 自定义M函数文件f_t.m 表示正弦函数y=f_t(t)
在工作空间产生时 间信号序列[k,t]
自定义M函数文件s_t.m,表示阶跃信号y=s_t(t)
function u=s_t(t) % step input if t<=0 u=0; else u=1; end
单位阶跃响应如图6.3所示。
图6.3 PID控制作用下闭环系统的阶跃响应
[例6.1] (2)试用Simulink建立一个如下图所示的非线性 控制系统模型。
0.3
-
3s 4 7s
-
0.5
5s 1 s( s 2 2s 1)
1 s 0.6
搭建的Simulink模型如下
0.6
在模块中选择参数0.5
搭建的Simulink模型如下
没有时滞情况下的模型
运行该Simulink模型,结果如下图所示。
[例6.1] (4)试用Simulink建立一个如下图所示的线 性时变系统模型。
x1 (t ) 4 x1 (t ) x2 (t ) x2 (t ) 5 x1 (t ) (6sin t ) x2 (t ) 3u (t ) y (t ) x (t ) 1
Matlab基础及其应用 第11章 Simulink仿真与分析
第11章 Simulink仿真与分析
【本章学习目标】 熟悉Simulink的操作环境。 掌握建立系统模型的方法。 了解子系统模块的建立与封装技术。 了解S函数的功能与设计方法。
11.1 Simulink概述
MATLAB基础与应用教程
11.1.1 Simulink的工作环境
11.2 系统模型的构建
MATLAB基础与应用教程
11.2.1 Simulink模块
5.模型元素的属性 模块基本属性包括: • Description属性。用于描述模块在模型中的作用以及用法。 • Priority属性。用于指定模块在模型中的优先级。 • Tag属性。用于指定模块的标识。
11.2 系统模型的构建
11.2 系统模型的构建
MATLAB基础与应用教程
11.2.2 模型设计
2.编辑模型 把预定义的模块放到模型框图中称为模块实例化。 在Simulink中,模型的数据有三种:方程系数、状态和信号。 系数定义系统动态特性和行为,状态反映系统的初始特性,信 号是系统的输入数据,也是系统的输出数据。 MATLAB 2012b以前的版本,模型存储为.mdl文件,后来的版本 增加了使用Unicode UTF-8的XML标准的.slx格式。
11.3 系统的仿真与分析
MATLAB基础与应用教程
11.3.1 设置仿真参数
1.Solver参数设置 (1)设置仿真起始和终止时间 (2)选择仿真算法 仿真算法根据步长的变化分为固定步长类算法和变步长类算法。
11.3 系统的仿真与分析
MATLAB基础与应用教程
11.3.1 设置仿真参数
2.Data Import /Export参数设置 导入(Import)的数据包括模型的输入信号和初始状态 导出(Export)的数据包括输出信号和仿真过程的状态数据。 (1)Load from workspace(从工作空间加载数据) 描述数据可以采用以下格式。 ①数组格式。状态矩阵的每一行对应一个时刻各个模块的状态, 每一列对应模型中一个模块的状态;输出矩阵的每一列对应一 个模型输出端口,每一行对应模型在一个时刻的输出。例如, 在命令行窗口输入以下命令,定义变量t和u。
matlab SIMULINK仿真基础
exp5_1.mdl
SIMULINK的模型具有层次性,通过底层子系统可以构建上层 母系统。
SIMULINK提供了对子系统进行封装的功能,用户可以自定义 子系统的图标Fra bibliotek设置参数对话框。
第二节 SIMULINK功能模块的处理
功能模块的基本操作,包括模块的移动、复制、删除、转向、改变大 小、模块命名、颜色设定、参数设定、属性设定、模块输入输出信号 等。 模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左 键不放)而放到模型窗口中进行处理。 在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对 模块进行以下的基本操作。 1) 移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要 脱离线而移动,可按住shift键,再进行拖曳。 2) 复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个 功能模块。 3) 删除:选中模块,按Delete键即可。若要删除多个模块,可以同时 按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠 标选取某区域,再按Delete键就可以把该区域中的所有模块和线等 全部删除。
4、 Math(数学模块) math.mdl
Sum:加减运算 Product:乘运算
Dot Product:点乘运算
Gain:比例运算 Math Function:包括指数函数、对数函数、求平方、开根号等常用 数学函数 Trigonometric Function:三角函数,包括正弦、余弦、正切等 MinMax:最值运算
两种模块库窗口界面只是不同的显示形式,用户可以根 据各人喜好进行选用,一般说来第二种窗口直观、形象, 易于初学者,但使用时会打开太多的子窗口。
三、SIMULINK的模块库介绍
第一讲 Simulink建模与仿真基础
Simulink专题讲座
© 2008 HFUT
2
重庆大学
1.模型元素 一个典型的Simulinnk模型包括以下3种元素。 ● 信号源(Source) ● 被模拟的系统模块 ● 信号输出(Sink)
CHONGQING UNIVERSITY
2.仿真步骤 (1)建立系统仿真模型,包括添加模块、设 置模块参数、进行模块连接等操作。 (2)设置仿真参数。 (3)启动仿真并分析仿真结果。
Simulink含两层含义:“Simu”表示仿真(simulation);而link表 示它能够进行系统连接,即:把一系列模块连接起来,构成复杂的 系统模型。正是由于它的这些功能和特色,使得它成为计算机仿真 领域首选的仿真环境。
Simulink专题讲座
© 2008 HFUT
11
重庆大学
CHONGQING UNIVERSITY
Simulink专题讲座
© 2008 HFUT
3
重庆大学 3.仿真实例 CHONGQING UNIVERSITY 利用Simulink仿真曲线。 正弦信号由信号源模块库(Sources)中的Sine Wave模块提供, 求和用数学运算模块库(Math Operations)中的数学函数模块 (Add)产生,再用信号输出模块库(Sinks)中的示波器模块 (Scope)输出波形 (1)打开一个名为untitled的模型编辑窗口 (2)将所需模块添加到模型中。 (3)用连线将各个模块连接起来组成系统仿真模型 (4)设置模块参数并连接各个模块组成仿真模型。
© 2008 HFUT
重庆大学
CHONGQING UNIVERSITY
合计41万篇, 其中人文社会科 学约2600篇、经 济与管理科学约 2.6万篇,更多用 于工程科学、自 然科学
Matlab程序设计基础与simulink仿真概要
查汉字十六进制机器码
format hex; x='龙姝明'; y=uint16(x),z=char(y) 显示为 y=9f99 59dd 660e z=龙姝明 原理:转换字符串为uint16并以十六进制编码显示。 hz=reshape(char(19968:40869),1493,14) % 建立二维汉字字符数组.
12matlab的数据结构121matlab的数组array和矩阵matrix在matlab中将同类型的一组数据装配成一个一维二维三维高维数据阵列存入连续的一块存储空间中即可以整体访问数据阵列又可以分别访问每一个数据称这样的数据阵列为数组或矩阵唯一的要求是数组的各行各列各层各堆中的数据量相同
第一章 Matlab 编程基础
11bit指数码:指数码是对p+1023的编码,占编码的第2到第12位。
-1022≤p ≤ 1023; 1≤ p+1023≤2046。s=0,t=0,p=1024对应inf. s=1,p=1024,t=0.5对应非数nan.
52bit尾码: 0 ≤ t≤1-2-52,称 t 为尾数,t 码占13到64bit位。
有符号整数
int8: 表数范围, -128(-27)~127 (2^7-1) Int16: 表数范围,-32768(-215)~32767(215-1) Int32: 表数范围, -2147483648(-231)~2147483647(231-1) Int64: -9223372036854775808(-263) ~ 9223372036854775807(263-1); 即 intmin(‘int64’) ~ intmax(‘int64’) 机器码:不超范围时正数直接化为二进制整数,负数加2n (n=8,16, 32,64) 化为正数再化为二进制整数。超范围时 取最大正整数或绝对值最大的负整数。上超封顶,下超 封底。 例如 int8(-79)为b1H,int8(179)为ffH。
matlab语言基础与simulink仿真基础
三、矩阵的操作
1、矩阵下标
•MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取 子块和重排子块的操作。 • • • • A(m,n):提取第m行,第n列元素 A(:,n):提取第n列元素 A(m,:) A(m,:):提取第m行元素 m A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到 第n2列的所有元素(提取子块)。 • A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。 • 矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数 (赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个 数,而且在其他没有指定的位置补零。 • 消除子块:如果将矩阵的子块赋值为空矩阵[ ],则相当于消除了 相应的矩阵子块。
• 矩阵生成不但可以使用纯数字(含复数),也可以使用变 量(或者说采用一个表达式)。矩阵的元素直接排列在方 括号内,行与行之间用分号隔开,每行内的元素使用空格 或逗号隔开。大的矩阵可以用分行输入,回车键代表分号。
2、语句生成 (1)用线性等间距生成向量矩阵(start:step:end) 》a=[1:2:10] 其中start为起始值,step为步长,end a= 为终止值。当步长为1时可省略step参 1 3 5 7 9 数;另外step也可以取负数。
五、MATLAB的工作空间
1、MATLAB的工作空间包含了一组可以在命令窗口中调整 (调用)的参数 • who:显示当前工作空间中所有变量的一个简单列表
• whos:则列出变量的大小、数据格式等详细信息 • clear :清除工作空间中所有的变量 • clear 变量名:清除指定的变量 2、保存和载入workspace (1)save filename variables • 将变量列表variables所列出的变量保存到磁盘文件 filename中 • Variables所表示的变量列表中,不能用逗号,各个 不同的变量之间只能用空格来分隔。 • 未列出variables时,表示将当前工作空间中所有变 量都保持到磁盘文件中。 • 缺省的磁盘文件扩展名为“.mat”,可以使用“-”定 义不同的存储格式(ASCII、V4等)
MATLAB与数值分析第一部分-Simulink建模与仿真基础
步骤:
(4)添加信号线文本注释 双击信号线,出现编辑框,在编辑框内输入 文本。
文本注释
步骤: (5)仿真并分析 仿真运行:单击工具栏的“Start simulation”按 钮,开始仿真,在示波器上显示出阶跃响应。
纵坐标及标题修改: 例如右击示波器的坐标框, 选择“Axes properties”,将y坐标的“Y-min”改 为0,“Y-max”改为2,“Title”改为“二阶系统 时域响应”。
(2)触发子系统
当触发事件发生时开始执行。
触发事件包括: ★ ★ ★ ★ 上升沿 下降沿 上升沿和下降沿 函数内部逻辑
(3)使能触发子系统
由控制信号和触发事件同时决定子系统的执
行。
当触发事件发生后,Simulink检查使能信号 是否大于0,大于0就开始执行。
3、子系统的封装
子系统在设置时需要打开其中的每个模块分 别设置参数,而没有基于整体的独立操作界面,使 子系统的应用受到限制。 采用封装可以为具有一个模块以上的子系统定 制对话框和图标,使其具有良好的用户界面。
1、基本模块
Simulink 基本模块
Simulink模块库 包含各种功能模块,如:放大器、 微分器、积分器、各种信号源等。
Simulink基本模块库主要有:
连续模块库 离散模块库 函数与表格模块库 数学模块库
信号输出模块
信号源模块库 ……等
简要介绍以下三个: (1)输入信号源(Sources) 信号源模块库用来为模型提供输入信号,没 有输入口,至少有一个输出口,如:
Demo
打开Demo: HelpDemos,可提供程序、图形显示、simulink等各种实例
Demo
点击一个选项后出现如下图,再点击Run this demo,将播放演 示示例,可以通过实例自学Matlab
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
demo实例的打开:
打开MATLAB
按左下角start
选择simulink
选择demo
Simulink的Demo
搜索该模型名称,在matlab中打开
点击此处打开demo
Simulink的Demo
sldemo_hydcyl.mdl
Simulink的Demo
sldemo_foucault_vr.mdl
Simulink模型创建
Simulink模型是由模块和信号线连接构成的 方框图,创建模型就是绘制方框图。 1、模块操作
模块操作包括对象的选定、模块的复制、模 块的移动、模块的删除、改变模块大小、模块的翻 转和模块名的编辑等。 详细介绍见《Matlab实用教程》郑阿奇 主编, 电子工业出版社
2、信号线操作
LFM信号 带限白噪声 时钟信号 直流信号
(2)接收模块(Sinks)
接收端模块用来接收信号,如:
输出模块 输入不为0 时终止仿真 示波器 终结器
(3)连续系统模块(continuous)
连续系统模块用来构成连续系统的环节,如:
微分器 定积分器 积分器 二阶积分器
2、模块参数设置 打开参数设置对话框:双击模块或者右键选 择“Block Parameters”,比如正弦信号源,可以 设置幅度、频率、初相等。
3、模块属性设置
打开属性设置对话框:右键选择“Block Properties”,可以设置模块的优先级、标记、调 用函数等。
系统仿真与分析
1、仿真设置
Simulink的模型实际上是定义了仿真系统的微分或 差分方程组,而仿真则是用数值解算法来求解方程。 仿真设置包括对仿真的起始和结束时间、仿真步长、 仿真解法、输出模式,以及是否从工作空间装载数据或保 存数据到工作空间等进行设置。
信号线
步骤:
(3)设置模块参数:通过双击模块或弹出菜单,可打开该
模块的属性对话框,可设置参数。
如:
Sum:“Icon shape” 设置为“rectangular”, “List of signs”设置为“|+-”。 Transfer Fcn:分母多项式“Denominator” 设置为 “[1 0.6 0]”。 设置传递函数 Step:“Step time”设置为0。
如: new_system('mymodel','Model'); % 创建一个名为mymodel的新模型 open_system('mymodel'); % 打开名为mymodel的模型,并显示在模型窗 口
用Matlab命令创建和运行 Simulink模型
2、运行模型
sim命令 如:sim('step_response')
用Matlab命令创建和运行Simulink模型
1、创建模型
创建新模型:new_system 打开模型:open_system 保存模型:save_system 添加模块:add_block 添加信号线:add_line 模型属性的获得:simget 设置模型属性:set_param 设置模块和信号线属性:set_param 删除模块:delete_block 删除信号线:delete_line
2、打开文件 打开仿真模型文件主要有以下几种方式: ★ 在Matlab命令窗口输入不加扩展名的文件名 ★ 在Matlab命令窗口选择“File”“Open” ★ 在Simulink模块库浏览器窗口选择 “File”“Open” ★ 在Simulink模型窗口选择“File”“Open”
Simulink模型库浏览器
打开仿真设置对话框:在模型窗口选择
“Simulation”“Configuratio n Parameters”
数据装载或保存
仿真设置对话框如下:
起始和结束时间
2、连续系统仿真
举例说明:建立二阶系统的仿真模型,传递
1 函数为 s 2 +0.6s 。
方法:输入信号源使用阶跃信号,系统使用 开环传递函数 2 1 ,接收模块使用示波器来构成 s +0.6s 模型。
(2)触发子系统
当触发事件发生时开始执行。
触发事件包括: ★ ★ ★ ★ 上升沿 下降沿 上升沿和下降沿 函数内部逻辑
(3)使能触发子系统
由控制信号和触发事件同时决定子系统的执
行。
当触发事件发生后,Simulink检查使能信号 是否大于0,大于0就开始执行。
3、子系统的封装
子系统在设置时需要打开其中的每个模块分 别设置参数,而没有基于整体的独立操作界面,使 子系统的应用受到限制。 采用封装可以为具有一个模块以上的子系统定 制对话框和图标,使其具有良好的用户界面。
Simulink的Demo
sldemo_doublebounce.mdl
Simulink的Demo
sldemo_radar_eml.mdl
第一部分 MATLAB软件平台及编程
五、Simulink建模与仿真基础
Simulink简介
Simulink是Matlab的仿真工具箱,可以用来对 动态系统进行建模、仿真和分析,支持连续的、离散 的以及线性的和非线性的系统。具有以下特点: ★ 用绘制方框图代替编写程序,结构和流程清晰;
★ 智能化地建立和运行仿真,仿真精细、贴近实际;
Matlab simulink所用的所有模块都在 模型库中,通过模型库浏览器可找到所需要 的模块,然后将其拖动到模型中。
模型库浏览器窗口打开方式有两种: 1、在命令窗口输入“simulink”命令 2、通过图标
模型库浏览器窗口如下:
Simulink模型窗口
Simulink模型窗口由菜单栏、工具栏、模型 浏览器、模型框图窗口及状态栏组成。
将一个创建好的子系统进行封装,即使子系统象一 个模块,可以有自己的参数设置对话框,自己的模 块图标等,使用起来非常方便 。
子系统建立与封装
1、建立子系统 子系统类似于编程语言中的子函数,可以使 模型模块化,可读性更强,更容易调试和维护。建 立子系统有两种方法: ★ 在模型中新建子系统 ★ 在已有的子系统基础上建立
步骤:
(4)添加信号线文本注释 双击信号线,出现编辑框,在编辑框内输入 文本。
文本注释
步骤: (5)仿真并分析 仿真运行:单击工具栏的“Start simulation”按 钮,开始仿真,在示波器上显示出阶跃响应。
纵坐标及标题修改: 例如右击示波器的坐标框, 选择“Axes properties”,将y坐标的“Y-min”改 为0,“Y-max”改为2,“Title”改为“二阶系统 时域响应”。
Demo
打开Demo: HelpDemos,可提供程序、图形显示、simulink等各种实例
Demo
点击一个选项后出现如下图,再点击Run this demo,将播放演 示示例,可以通过实例自学Matlab
Simulink的Demo
MATLAB提供了丰富的Simulink应用实例——Demo。
1、基本模块
Simulink 基本模块
Simulink模块库 包含各种功能模块,如:放大器、 微分器、积分器、各种信号源等。
Simulink基本模块库主要有:
连续模块库 离散模块库 函数与表格模块库 数学模块库
信号输出模块
信号源模块库 ……等
简要介绍以下三个: (1)输入信号源(Sources) 信号源模块库用来为模型提供输入信号,没 有输入口,至少有一个输出口,如:
子系统的封装步骤(自学)
:
(1)选中子系统双击打开,给需要进行赋值的参 数指定一个变量名; (2)选择菜单”Edit””Mask subsystem”,出现 封装对话框; (3)在封装对话框中设置参数,包括Icon, Parameters, Initialization和Documentation。
★ 适应面广。包括线性、非线性系统;连续、离散及 混合系统;单任务、多任务离散时间系统。
Simulink文件操作
Simulink模型的文件为MDL模型文件,扩展名 为.mdl,以ASCII码形式存储。
1、新建文件 新建仿真模型文件主要有以下几种方式: ★ 在Matlab命令窗口选择 “File”“New”“Model” ★ 在命令窗口运行simulink命令,在弹出的模块库 浏览器窗口中选择“File”“New”“Model” ★在Simulink模型窗口中选择
◆ 模块间连线:先将光标指向一个模块的输出端, 待光标变成十字后按下鼠标左键拖动,直到另一模 块的输入端。
◆ 信号线分支:将光标指向信号线的分支点上, 按住鼠标右键,光标变为十字,拖动鼠标直到分支 线的终点,释放鼠标。
虚线,因为终端 没有连接到模块
◆ 信号线文本注释,在信号线中插入模块, 略„„
Simulink基本模块
步骤:
(1)先将需要的模块放入模型窗口,如:
在“Sources”库中选“step”模块, 在“Continuous”库中选“Transfer Fcn”模块, 在“Math Operations”库中选“Sum”模块, 在“Sinks”库选择“Scope”模块。
步骤:
(2)连接各模块,从信号线引出分支点,构成 闭环系统。
参见《Matlab实用教程》郑阿奇 主编
Simulink子系统
Simulink子系统创建与封装
当建立的Simulink系统模型比较大或很复杂时,可 将一些模块组合成子系统,这样可使 ① 模型得到简化,便于连线; ② 可提高效率,便于调试; ③ 可生成层次化的模型图表,用户可采取自上 而下或自下而上的设计方法。
更改标题
Y轴变化
步骤:
设置仿真时间: 在模型窗口,选择
“Simulation” “Configuration parameters”, 在“Solver”页将“Stop time”设置为20,然后单 击“Start simulation”按钮。