基于MATLABSimulink的建模与仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB软件简介?
学习和使用常用软 件MATLAB的一些 基本语句和功能来 验证或观察函数的 变化,实现函数的 可视化计算
7000 6000 5000 4000 3000 2000 1000 0
1 3 5 7 9 11 13 15 17 19
StockQuantity SellQuantity
Euler迭代公式:yn+1=yn-0.1yn2
MATLAB仿真举例 Euler迭代公式:yn+1=yn-0.1yn2
,y(0)=1
(取步长h=0.1,0≤t≤1)
MATLAB仿真举例 Euler迭代公式:yn+1=yn-0.1yn2 ,y(0)=1
(取步长h=0.1,0≤t≤1)
t=[0:0.1:1]’; length=size(t,1); y=zeros(size(t)); y(1)=1; for n=1:1:length-1 y(n+1)=y(n)-0.1*y(n)^2 end plot(t,y)
Simulink模块库简介
Simulink模块库简介
SIMILINK模块库按功能进行分类:连续
模块、离散模块、查表模块、数学模块、非线
性模块、信号通路模块、接收器模块、输入源 模块、其他常用方块组及工具箱、特别模块。
连续模块(Continuous)
Derivative:输入信号微分 Integrator:积分器 State-Space:线性状态空间系统 模型 Transfer-Fcn:线性传递函数模型 Zero-Pole:以零极点表示的传递 函数模型 Memory:存储上一时刻的状态值 Transport Delay:输入信号延时 一个给定时间再输出 Variable Transport Delay:输入 信号延时一个可变时间再输出
案。它允许用户把MATLAB命令放在一个简单的文本文件中,
然后告诉MATLAB打开文件并执行命令,如同在MATLAB 提示符处键入命令一样。这些文件被称为脚本文件或简单地
称为M文件。M文件是指脚本文件以扩展名.m结尾。
MATLAB软件简介?
MATLAB提供三种控制流结构 的语句: For-end循环 While-end循环 If-Else-End结构
MATLAB仿真举例
设系统方程
y y
2
0
,y(0)=1
试用Euler法求其数值解(取步长h=0.1,0≤t≤1) 试编写matlab程序求其数值解。
MATLAB仿真举例
设系统方程
yຫໍສະໝຸດ Baidu y
2
0
,y(0)=1
试用Euler法求其数值解(取步长h=0.1,0≤t≤1)
试编写matlab程序求其数值解。
Math operations(数学模块)
Sum:加减运算
Product:模块输入的乘除运算 Dot Product:点乘运算
Gain:比例运算
Math Function:包括指数函数、 对数函数、求平方等常用数学函数
Trigonometric Function:三角函数, 包括正弦、余弦、正切等
MATLAB仿真举例 运行结果:
y= 1.0000 0.9000 0.8190 0.7519 0.6954 0.6470 0.6052 0.5685 0.5362 0.5075 0.4817
作业
设系统方程
y y
2
0
,y(0)=1
试用二阶龙格库塔法求其数值解(取步长h=0.1,0≤t≤1) 试编写matlab程序求其数值解。
一般的有两个选择的IF-ELSE-END结构是:
if expression(条件控制表达式)
commands evaluated if True
else commands evaluated if True end 在这里,如果条件控制表达式(expression) 为真,则执行第1组命令;如果表达式是假, 则执行第2组命令。
计算机仿真技术
第五讲 基于MATLAB/Simulink 的建模与仿真
MATLAB软件简介
MATLAB仿真实例 什么是Simulink? Simulink模块库简介 Simulink模型的建立方法 Simulink建模与仿真举例
小结
MATLAB软件简介?
MATLAB是一门计算机编程语言,是一种科学计算
IF-ELSE-END结构提供有条件地执行一些特定的 命令序列的方式。最简单的IF-ELSE-END结构是: if expression(条件控制表达式) {commands} end 如果在条件控制表达式(expression)中的所有元 素为真(非零),那么就执行if和end语句之间的 命令串({commands})。在表达式包含有几个逻辑 表达式时,即使前一个表达式决定了表达式的最 后逻辑状态,仍要计算所有的子表达式。
For循环不能用For循环内重新赋值循环变
量n来终止。 在For循环中循环控制量的范围可以是任 何有效的MATLAB矩阵。比如 data=[11 9 45 6; 7 16 -1 5]; for n=data x=n(1)-n(2) end 这时程序的输出有四个数值,分别是矩阵 data的两列相减的结果 x = 4 x = -7 x = 46 x = 1
一个软件包,它让用户把精力从编程转向模型的构造。
Simulink一个很大的优点是为用户省去了许多重复的代码 编写工作。 Simulink 支持线性,非线性系统,连续系统,离 散系统,或者混合系统的建模与仿真。同时它也支持具有不同 部分拥有不同采样率的多种采样速度的系统仿真。 Simulink的启动方式有两种: (1) 在工具栏点击Simulink图标; (2)在Command Window中输入:>> Simulink
二阶龙格库塔法迭代公式:
请在第二次实验时 上机验证结果。
h y y ( K K ) m 1 m 1 2 2 K1 f (t m , ym ) K f (t h, y K h) m m 1 2
什么是Simulink?
Simulink是MATLAB提供的实现动态系统建模和仿真的
离散模块(Discrete)
Zero-Order Hold:零阶采样保持器 Unit Delay:一个采样周期的延时
Discrete-time Integrator:离散时间积分器
Discrete State-Space:离散状态空间系统模型 Discrete Filter:离散滤波器 Discrete Transfer-Fcn:离散传递函数模型 Discrete Zero-Pole:以零极点表示的离散传递函数模型
MinMax:最小值或最大值运算
Abs:取绝对值
Sign:给出符号函数
Rounding Function 圆整函数 Combinatorial Logic:建立真值表
Logical Operator:逻辑运算
Relational Operator:关系运算 Complex to Magnitude-Angle: 由复数输入转为幅值和相角输出 Complex to Real-Imag: 由复数输入转为实部和虚部输出 Magnitude-Angle to Complex: 由幅值和相角输入合成复数输出 Real-Imag to Complex: 由实部和虚部输入合成复数输出
软件,取名来源于Matrix Laboratory,本意是专门以矩 阵的方式来处理计算机数据 .MATLAB将高性能的数值计 算和可视化集成在一起,并提供了大量的内置函数,被广 泛应用在科学计算,信息处理,控制系统等领域的分析, 仿真和设计工作。 MATLAB的功能包括:数值分析,数值和符号计算, 工程和科学绘图,通讯和控制系统的设计与仿真,数字图 像与信号处理,财务与金融工程等。
clear删除工作空间中的所有变量!系统不会要求你确认
这个命令。所有变量都被清除且不能再恢复。
对于简单的问题,在MATLAB提示符下输入命令是快速有
效的。然而当命令数增加或希望改变一个或几个变量的值,
然后重新执行一系列命令时,在MATLAB提示符处键入命令 就非常麻烦了。对这个问题MATLAB提供了一种逻辑解决方
For循环可按需要嵌套,即For循环体内的命 令组中可以出现另一个For循环体,这体现了 For循环体也是命令组。比如 for n=1:5 for m=5:-1:1 A(n,m)=n^2+m^2; End end
MATLAB软件简介?
While-end循环以不定的次数求一组语句的值。 Whil-end 循环的一般形式是: while expression(控制表达式) {commands} end 只要在控制表达式(expression)里的所有元 素为真,就执行While和end语句之间的命令 串({commands})。
最后这种有三个以上选择的IF-ELSE-END形式, 依次检查各表达式,只执行第一个表达式为真的 命令串,接下来的关系表达式不检验,跳过其余 的IF-ELSE-END结构。最后的else命令可有可无。
MATLAB软件简介?
break是一种特殊的控制结构,基本作用是无 条件跳出临近的循环体,即结束For循环和 While循环的执行。
MATLAB软件简介?
For-end循环的基本作用是以固定的和预定的次 数重复一组特定的命令。一般形式是: for n=循环控制量的范围 {commands}
end
说明:在for和end语句之间的命令串 {commands}按矩阵(array)中的每一列执行一次。 在每一次迭代中,n被指定为循环控制量的范围 内的下一列。例如: for n=1:10 x(n)=sin(n*pi/10); end 这个循环体的作用是:对n等于1到10,求所有 语句的值,直到下一个end语句。第1次通过For 循环n=1,第2次,n=2,如此继续,直到n=10。 在n=10以后,For循环结束,然后求end语句后 面的任何命令值
Discontinuous(非线性模块)
Rate Limit: 变化速率限制
Saturation:饱和输出,
让输出超过某一值时能够饱和。 Quantizer:离散化
Blacklash:滞环或间隙
First-Order Hold:一阶采样保持器
Look-up Table(查表模块) User-defined function(用户定义函数模块)
Look-Up Table:建立输入信号的查询表 (线性峰值匹配) Look-Up Table(2-D):建立两个输入信号的 查询表(线性峰值匹配) Fcn:用户自定义的函数(表达式) MATLAB Fcn:利用MATLAB的现有函数 S-Function:调用自编的S函数的程序
说明:控制表达式的值未必是一个标量值,
矩阵值也同样有效。在矩阵情况下,所得到 矩阵的所有元素必须都为真。具体示例: num=0;EPS=1; while(1+EPS)>1 EPS=EPS/2; num=num+1; end 这段MATLAB代码最后在num=53时停止。
MATLAB软件简介?
有三个或更多选择时的IF-ELSE-END结构的形式:
if expression1 commands evaluated-if expression1 is True elseif expression2 commands evaluated-if expression2 is True elseif expression3 commands evaluated-if expression3 is True elseif else commands evaluatedif on other expression is True end
MATLAB软件简介?
MATLAB软件的典型应用领域:
科学研究; 工程技术应用研究 CAI(Computer Aided Instruct) 数学实验(Mathematical Experiment) 数学建模(Mathematical Modeling)
MATLAB软件简介?