MATLAB语言及其在自动控制和仿真中的应用.ppt_第1页
MATLAB语言及其在自动控制和仿真中的应用.ppt_第2页
MATLAB语言及其在自动控制和仿真中的应用.ppt_第3页
MATLAB语言及其在自动控制和仿真中的应用.ppt_第4页
MATLAB语言及其在自动控制和仿真中的应用.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB 语言及其在自动控制和仿真中的应用,东北大学 人工智能与机器人研究所、控制仿真中心 薛定宇,内容简介,MATLAB 语言入门 MATLAB 语言编程起步 MATLAB 语言与科学可视化 MATLAB 在科学运算中的应用 MATLAB在控制理论中的应用 MATLAB在电机及拖动中的应用 MATLAB 的PID控制技术 MATLAB 在相关领域中的应用,主要参考文献,薛定宇、陈阳泉 基于MATLAB/Simulink的系统仿真技术与应用,清华大学出版社2002 (东大本科生、研究生教材) 薛定宇 反馈控制系统的设计与分析,清华大学出版社,2000 (SV,2003) 薛定宇 控制系统计

2、算机辅助设计,清华大学出版社,1996 薛定宇 科学运算语言MATLAB程序设计及应用,清华大学出版社,2000,1. MATLAB 语言简介,MATLAB Matrix Laboratory 它是高度集成的语言 ( “第五代”) 重要特色是“科学运算”、“可视化”、仿真 有各种各样的“工具箱” 已经渗透到各行各业 被控制界学者捧红,成为通用语言,MATLAB 起源和发展,LINPACK,EISPACK LaPack 1980,Cleve Moler第一个免费版本 1984年 MathWorks公司创立,v1 1990年v3.5i,第一个微机Windows版,并推出Simulink仿真环境 1

3、992年v4,全面支持Windows编程 最新版本 6.5, Simulink 5.0 控制界首选,将长期保持独一无二,2. MATLAB 编程入门,编程方法的进展 矩阵的表示 目前流行语言, C、Fortran, Basic 等 二维数组,双重循环 MATLAB表示,数据结构及其特色,以复数矩阵为基本变量单元 (C得用二个数组来表示复数矩阵) 特殊矩阵生成(单位阵,Vandermonde阵) 矩阵直接可以运算,如 A+B, A*B (C语言: A+B 双重循环,A*B得三重循环,此外兼容性判定、复数矩阵更难处理) 例 A*A 其他数据结构:结构体、类、字符串,程序流程控制,循环结构 for结

4、构和while结构 转移结构 if, elseif, end 开关结构 switch case, end 试探结构 try, catch, end,例,代数运算、逻辑运算与比较运算,代数运算: 、+、-、* 、/左除、右除、 点运算:.*, . 等,相应元素运算 逻辑运算: &、|、xor(A,B) 比较运算: =, , =, =, any(), all(),函数编写,函数格式 function a,b,c,=funname(d,e,f,) 举例 Hilbert 矩阵生成,特殊函数编写技巧举例,递归调用 例:阶乘 n! 可变变元个数, 举例:扩展 conv() 函数,接纳任意多个多项式 MAT

5、LAB 函数可以自动翻译成 C 无优化,兼容性不佳。另有方法 工具箱 (任何人都可以是工具箱作者),3. 科学可视化技术,二维图形表示 plot() 一般二维图形 ezplot() 已知函数绘图 stem() 绘制火柴杆图形 stairs() 绘制阶梯图形 绘图窗口分割 图形修饰,3.1 实验数据的绘图,3.2 二维图形的其他绘制方法,极坐标图形 对数坐标图形 semilogx(), semilogy(), loglog() 修改图形坐标系直接变换 隐函数图形绘制,3.3 三维图形绘制,三维曲线绘制 三维曲面绘制,3.4 “4维”图形绘制,想法:对 V=f(x,y,z),构造不同的三维网格,用

6、颜色绘制网格点处 V 函数的值 其中 使用slice函数绘制图形 另外一种4维图形为三维动画,4. 数学问题的 MATLAB 求解,解析解:数学公式推导 数学机械化,几何定理证明。 有的时候不宜求解析解,只能求数值解: 如非线性微分方程求解 高元非线性代数方程求解 仿真问题 (连续、离散、DEDS和混杂) 具有复杂控制算法、结构的控制问题没有解析解 很多其他领域没有解析解,如图像等,4.1 解析解与数值解,不适合求取解析解的场合,解析解不存在: 例p,无限不循环 errf(x) 解析解存在,但求解不可能 例:矩阵的行列式, Cramer 法则 需要运算 n=20时: 实际运算需要n更大。 用M

7、ATLAB求数值解,每秒解n=500+ 求取解析解没有必要,数学问题求解语言与工具,解析解: Mathematica Maple MATLAB 的符号运算工具箱 数值解 (MATLAB, MATRIXx) MATLAB 本身各种各样工具箱 如最优化工具箱、统计工具箱、偏微分方程工具箱,4.2 解析解求解步骤,依赖于符号运算工具箱 运算步骤 1. 声明符号变量 2. 表示数学函数/问题 3. 求解数学问题 4. 有时需要化简得出的解 5. 以更好的形式显示结果 6. 在文字处理软件中表示结果,LaTeX,应用举例,求极限: 微分与积分:,Taylor 幂级数展开 (前20项) 级数求和 (无穷级

8、数、有穷级数) 级数求和,再取极限,线性代数问题求解,一般矩阵的输入 特殊矩阵的输入 专用函数 magic, eye, zeros, ones 计算程序及函数调用,4.3. 数学问题的数值解法4.3.1 线性代数问题求解,特征值 (eig), 行列式(det), 秩(rank),范数(rank) 矩阵求逆(inv, pinv) 代数方程 矩阵函数: 如指数函数 expm 矩阵问题解析解: 状态转移矩阵,4.3.2 常微分方程求解,Lorenz 方程 描述方程的 MATLAB 代码,其他类型的微分方程求解,隐式微分方程 刚性微分方程 微分代数方程 (DAE) 边值问题 偏微分方程工具箱 延迟微分

9、方程 边值问题的解析解 举例,4.3.3 最优化问题求解,有约束、无约束的最优化问题 线性规划问题 举例 二次型规划 最小二乘曲线拟合 多目标规划,整数规划的计算机求解,利用第3方的工具箱:Petri网工具箱 res, how = ip_solve(A, B, f, intlist, ub, lb, ctype),5. MATLAB 在自动控制中的应用,数学模型与模型转换 传递函数、状态方程、零极点 系统的时域、频域、复域分析 Bode,Nyquist、Nichols,阶跃响应 控制系统CAD 单变量、多变量;预测控制、神经网络、模糊逻辑、鲁棒控制各种工具箱 控制系统仿真,5.1 控制系统的模

10、型表示,传递函数 状态方程,x,Laplace 变换及反变换,步骤: 声明符号变量 调用laplace函数进行变换 或 调用 ilaplace() 函数进行反变换 化简 simple() 结果显示 pretty(), latex() 例,5.2 模型转换,状态方程、传递函数、零极点模型都可以相互转换 使用 ss() 函数可以转换成状态方程模型 传递函数模型转换 tf() 零极点模型转换 zpk() 连续系统离散化 c2d() 离散系统连续化 d2c(),结构图化简,已知数据 符号化简,g1,g3,g4,g2,g5,g6,g7,g8,g9,g10,5.3 系统稳定性分析,直接分析, A 矩阵的特

11、征根或分母多项式的根 能得到比间接方法更多的信息 还可以采用间接方法: Routh, Hurwitz, Lyapunov 方法 根轨迹分析, 直接使用rlocus()函数,5.4 频域分析,Bode 图形绘制, bode() Bode 渐近线绘制 Nyquist 图, nyquist() Nichols 图, nichols() 和 ngrid() 幅值相位裕量分析, margins(),5.5 时域响应分析,阶跃响应, step() 脉冲响应, impulse() 任意输入, lsim() 复杂系统分析, 包括含有非线性环节的系统, 可以采用 Simulink 环境,K=800,5.6 控制

12、器设计,LQ 最优控制器 Riccatti 方程,5.7 其他设计方法,基于根轨迹的试凑方法 PID 控制器设计,6 Simulink及电机拖动系统仿真,Simulink简介 Simulink下的模型建立 Power Systems Blockset 电机系统仿真 电力拖动系统仿真,6.1 Simulink简介,Simulink = Simu Link MATLAB最新版本下的是Simulink 5.0 各种模块和模块集(Blockset) 一般连续、离散模块、数学模块等 Power Systems Blockset SimMechanics Blockset 机构系统仿真 其他:DSP, 通

13、信系统,嵌入式系统 输出结果的显示 示波器、表盘、虚拟现实、MATLAB,6.2 简单非线性系统的建模,简单非线性系统 模块复制、模块连接、参数修改、仿真,6.3 电机仿真,三相异步电动机启动仿真,铭牌参数,6.4 直流电机拖动 (自控系统),用Simulink绘图 仿真,显示结果,6.5 输出信号的显示,Dials & Gauges Blockset 各种各样表盘 例:PI 控制,输出结果表盘显示 c5mdng1.mdl,7 PID控制系统设计与仿真,PID控制器的一般设计方法 最优PID控制器设计 最优控制器设计程序 PID工具箱及Blockset的设计 基于神经网络的PID控制器仿真演示

14、 输出显示方法,7.1 经典PID控制器及设计,传统方法 Ziegler-Nichols方法,7.2 PID控制器的最优设计,想法 1) 对受控对象进行最优降阶 2) 利用表格设计PID参数 (Zhuang & Atherton) 局限性 受控对象结构限制,不能限幅,7.3 PID控制器的设计方法,举例:PID 系统及其实现 受控对象 方法一:普通Ziegler-Nichols方法 方法二:Zhuang & Atherton 最优方法 方法三:利用NCD直接实现 方法四:参数直接优化方法,7.4 PID工具箱,利用S函数的功能,本人编写的雏形 参考资料 刘金琨先进PID控制及MATLAB仿真

15、薛定宇反馈控制第7章及其他资料 问题: * 目前没有被广泛认可的PID工具箱 * 程序是针对某一模型的,不通用 * 模块化,形成BlockSet,8. MATLAB 的高级仿真技术,虚拟现实技术 虚拟现实工具箱 物理建模与仿真 SimMechanics, 机构系统仿真 PowerSystems,电工电子系统仿真 半实物仿真与快速原型设计技术 xPC dSPACE,8.1 虚拟现实技术与工具箱,利用工具箱提供的程序可以容易建立起虚拟现实的“world”模型。 可以用 MATLAB 语句或 Simulink 模型建立起和world模型的联系。 可以直接驱动该模型,显示效果。 举例:飞机绕大楼飞行,8.2 机械电子系统建模与仿真,新推出的 SimMechanics可以将机、电、控制等子系统在一个框架下进行仿真,8.3 半实物仿真与实时控制,半实物仿真 Hardware in the Loop Simulation (HIL) 为什么需要半实物仿真? 半实物仿真工具 xPC, dSPACE 特殊硬件工具 A/D、dSPACE 软件: xPC Control Desk,半实物仿真示意图,dSPACE 卡,Control Desk 界面,9. 其他软件与语言,科技文献排版软件LaTeX 在很多方面优于Word (例子) 在国际学术界

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论