9512.net
甜梦文库
当前位置:首页 >> 数学 >>

2《MATLAB Simulink与控制系统仿真(第3版)》的课件 第2章 MATLAB计算基础



第2章 MATLAB计算基础
?

2.1 ? 2.2 ? 2.3 ? 2.4 ? 2.5 ? 2.6 ? 2.7 ? 2.8 ? 2.9

引言 MATLAB概述 MATLAB桌面操作环境 MATLAB数值计算 关系运算和逻辑运算 符号运算 复数和复变函数运算 MATLAB常用绘图命令 MATLAB程序设计

内容提要
本章介绍MATLAB的产生与发展过程,对 MATLAB的常用工具箱及特点进行介绍, 然后对MATLAB计算及仿真的基础知识、 控制系统中常用的符号运算和积分变换运 算的基本命令进行比较详细的描述。 ? 通过本章,对MATLAB能有一个比较全面 的了解,并能熟练使用MATLAB计算与仿 真的基本功能。
?

2.2 MATLAB概述
? ? ?

?

MATLAB已发展成为一种具有广泛应用前景、全新的计算机 高级编程语言,可以说它是“第四代”计算机语言。 每年的3月份和9月份推出当年的a和b版本,目前的最新版本 是MATLAB 2013a。 MATLAB系统由MATLAB开发环境、MATLAB数学函数库、 MATLAB语言、MATLAB图形处理系统和MATLAB应用程序 接口(API)五大部分构成 工具箱是MATLAB的关键部分,它是MATLAB强大功能得以 实现的载体和手段,它是对MATLAB基本功能的重要扩充。 MATLAB每年都会增加一些新的工具箱,所以,在一般情况 下,工具箱的列表不是固定不变的,有关MATLAB工具箱的 最新信息可以在http://www. mathworks.com/products中看到。

2.3 MATLAB桌面操作环境
MATLAB界面展示

2.3.2 MATLAB主菜单及功能
打开MATLAB主窗口后,即弹出其主菜单栏,主菜单栏 各菜单项及其下拉菜单的功能如下所述。 1.File主菜单项 2.Edit主菜单项 3.Debug主菜单项 4.Desktop主菜单项 5.Window主菜单项 6.Help主菜单项

2.3.3 MATLAB命令窗口

2.3.4 MATLAB工作空间

2.3.5 MATLAB文件管理

2.3.6 MATLAB帮助使用

2.4 MATLAB数值计算
?

?

?

控制系统仿真是系统仿真的一个重要分支,它是一门涉及自 动控制理论、计算数学、计算机技术、系统辨识、控制工程 以及系统科学的综合性新型学科。它为控制系统的分析、计 算、研究、综合设计以及控制系统的计算机辅助教学等提供 了快速、经济、科学及有效的手段。 控制系统仿真就是以控制系统模型为基础,采用数学模型替 代实际控制系统,以计算机为工具,对控制系统进行实验、 分析、评估及预测研究的一种技术与方法。 控制系统仿真通过控制系统的数学模型和计算方法,编写程 序运算语句,使之能自动求解各环节变量的动态变化情况, 从而得到关于系统输出和所需要的中间各变量的有关数据、 曲线等,以实现对控制系统性能指标的分析与设计。

2.4.1 MATLAB数值类型
? ?

?

?

MATLAB包括4种基本数据类型,即双精度数组、字符串数组 、元胞数组、结构数组。 变量是数值计算的基本单元。与C语言等其他高级语言不同, MATLAB语言中的变量无须事先定义,一个变量以其名称在语 句命令中第一次合法出现而定义,运算表达式变量中不允许有 未定义的变量,也不需要预先定义变量的类型,MATLAB会自 动生成变量,并根据变量的操作确定其类型。 字符是MATLAB中符号运算的基本元素,也是文字等表达方式 的基本元素,在MATLAB中,字符串作为字符数组用单引号(’ )引用到程序中,还可以通过字符串运算组成复杂的字符串。 元胞是元胞数组(Cell Array)的基本组成部分。元胞数组与数 字数组相似,以下标来区分,单元胞数组由元胞和元胞内容两 部分组成。用花括号{ }表示元胞数组的内容,用圆括号( )表示 元胞元素。

2.4.1 MATLAB数值类型
双精度数组定义: a(i)=3; a(i,j)=5; a=1:1:10;

字符数组定义: b(1)=‘m’; b(2)=‘y’; a=‘my name’;

2.4.1 MATLAB数值类型
元胞数组: (1)直接创建法之一:“外标识元胞元素赋值法” A(1,1)={‘my name’}; A(1,2)={1}; A(2,1)={2}; A(2,2)={3}; (2)直接创建法之二:“编址元胞元素内涵的直接赋值法” B{1,1}=‘my name’; B{1,2}=1; B{2,1}=2; B{2,2}=3;

2.4.1 MATLAB数值类型
结构体数组: (1)用赋值语句直接定义
student(1).name=‘liu’; student(1).age =20; student(1).score =95;

(2)使用struct定义结构体数组
格式: s=struct(‘field1’,values1, ‘field2’,values2,…) 结果返回结构数组,其中属性必须用引号标识,属性值可以是不同的类型.

student=struct('name',{'liu','zhang'},'age',{20,20},'score',{95,96});
>> student(1) ans = name: 'liu' age: 20 score: 95

2.4.2 矩阵运算
?

MATLAB软件的最大特色是强大的矩阵计算功能,在MATLAB 软件中,所有的计算都是以矩阵为单元进行的。

2.4.2 矩阵运算(续)

2.5 关系运算和逻辑运算
?

作为所有关系表达式和逻辑表达式的输入,MATLAB把任何 非0数值当做真,把0当做假。所有关系表达式和逻辑表达式 的输出,对于真输出为1,对于假输出为0。

2.6 符号运算
MATLAB提供了符号数学工具箱(Symbolic Math Toolbox), 大大增强了MATLAB的功能。符号数学工具箱的特点为: ? (1)符号数学工具箱适用于广泛的用途,而不是针对一些特 殊专业或专业分支。 ? (2)符号数学工具箱使用字符串来进行符号分析,而不是基 于数组的数值分析。 ? 符号数学工具箱是操作和解决符号表达式的符号数学工具箱 (函数)集合,有复合、简化、微分、积分以及求解代数方 程和微分方程的工具。 ? 控制系统中常用的符号运算有微积分、拉普拉斯变换和Z变换 等积分变换

2.6 符号运算
定义符号变量: 1.直接定义: 符号表达式可以直接用单引号定义;可以把符号表达式直接赋 给符号变量。 ‘1/(2*x^n)’ ans = 1/(2*x^n)
y=‘1/(2*x^n)’ y= 1/(2*x^n)

2.6 符号运算
定义符号变量: 2.用函数sym或syms定义: 定义单个符号变量: x=sym(‘x’); 定义多个符号变量 syms a b c;
当字符表达式中的变量多于一个时,只有一个变量是独立的(或者叫自变量 )。如果不告诉matlab哪一个变量是独立变量,matlab将基于以下规则选择一 个:在符号表达式中缺省的变量是唯一的,除去i和j的小写字母;如果没有 这种字母,就选择x作为独立变量,如果字符不是唯一的,就选择在字母顺 序中最接近x的字母;如果有相连的字母就选择在字母表中较后的那一个。

用findsym函数来查看符号变量: r=findsym(S) 返回符号表达式S中的所有符号变量,并按字母排 序。如果S中不包含任何变量,则返回空矩阵。 r=findsym(S,n) 返回符号表达式S中最接近x的n个符号变量,并 按字母排序。查看默认的符号变量r=findsym(S,1)

符号运算: 1.基本运算

2.6 符号运算

(1)在定义好符号变量后,可以进行+,-,*,/等基本运算。 syms x y a; r=x+y-a; (2)微分运算: diff(f,x,n), f关于x求n阶导数 syms a x; f=sin(a*x); diff(f,x) ans = cos(a*x)*a (3)积分运算: int(f,r,x0,x1), f为进行积分的表达式, r为积分变量,若为定积分, 则x0,x1为积分的上下限. int(f,x) ans = -1/a*cos(a*x) int(f,x,0,1) ans = -(-1+cos(a))/a

2.6 符号运算
符号运算: 1.基本运算 2.符号表达式的化简
(1)collect函数 collect函数用于合并多项式中的同类项,其调用格式为: R=collect(S), 返回S经同类项合并后的多项式; R=collect(S,v), 返回S经同类项合并后的多项式,但只对指定的独立变量V进行 合并. syms x y; S=(x+y)*(x^2+y^2+1); collect(S,x) ans = x^3+y*x^2+(y^2+1)*x+y*(y^2+1)

2.6 符号运算
符号运算: 1.基本运算 2.符号表达式的化简
(1)collect函数 (2) simplify函数 函数simplify利用函数规则对表达式进行化简,其调用格式为: r=simplify(s) 可以对符号表达式中或符号矩阵中的各个元素进行化简, 返回化简后的符号 表达式或矩阵. sym x; s=x*(x*(x-6)+11)-6; r=simplify(s)

r= x^3-6*x^2+11*x-6

2.6 符号运算
符号运算: 1.基本运算 2.符号表达式的化简 3.符号表达式与数值多项式的相互转化
(1)将符号表达式转化为数值多项式 c=sym2poly(s) 返回符号表达式s的数值多项式系数 (2)将数值多项式转化为符号表达式 r=poly2sym(c) 返回以向量c为系数的数值多项式的符号多项式; r=poly2sym(c,v) 返回以向量c为系数的数值多项式的符号多项式,并以参数v 为独立变量. sym2poly(x^3-2*x-5) ans = 1 0 -2 -5 poly2sym([1 3 2]) ans = x^2+3*x+2

2.7 复数和复变函数运算
?

? ? ? ? ?

在MATLAB中,可以采用符号运算工具箱进行拉氏变换(拉普 拉斯变换的简称)和拉氏反变换,采用的函数是laplace和 ilaplace,使用前,用syms函数设置有关的符号变量。在 MATLAB的符号工具箱中,有拉氏变换和拉氏反变换的运算函 数。 laplace变换函数的格式为: L=laplace(F) ilaplace拉氏反变换函数的常用格式为: F=ilaplace(L) MATLAB提供了符号运算工具箱(Symbolic Math Toolbox), 可方便地进行Z变换和Z反变换,进行Z变换的函数是ztrans,进 行Z反变换的函数是iztrans。

2.7 复数和复变函数运算
1.laplace变换 定义:设有一函数f(t),t为实变量,当t≥0,积分
? ? ? ?0 f (t )e ? st dt ? ??
?

则积分结果F(s)称为f(t)的拉氏变换,即
F ( s ) ? L[ f (t )] ? ?0 f (t )e ? st dt
?

称F(s)为f(t)的象函数, f(t)为F(s)的原函数. 函数的格式为: L=laplace(F) ilaplace拉氏反变换函数的常用格式为: F=ilaplace(L)

2.7 复数和复变函数运算
1.laplace变换与反变换 函数的格式为: L=laplace(F) ilaplace拉氏反变换函数的常用格式为:
F=ilaplace(L) syms t s a; f1=exp(a*t); f2=t-sin(t); L1=laplace(f1) L2=laplace(f2) L1 = 1/(s-a) L2 = 1/s^2/(s^2+1)

2.7 复数和复变函数运算
2.Z变换与反变换
Z变换的定义为: 连续信号的laplace变换为 连续信号f(t)经过采样后的离散信号为:
f
?

F ( s ) ? L[ f (t )] ? ?0 f (t )e ? st dt

?

(t ) ?

进行Laplace变换

n ?0

? f (nT )? (t ? nT )
?

?

L[ f * (t )] ? F * ( s) ?

n ?0

? f (nT )e ?nTs

令 z ? e sT

并将F*(s)改写成F(z),则
F ( z ) ? F ( s) ?
* n ?0

? f (nT ) z ?n

?

如果上式的级数收敛,则称F(z)为f*(t)的z变换,记为:
L[ f * (t )] ? F ( Z ) ?
n ?0

? f (nT )e ?n

?

2.7 复数和复变函数运算
1.Z变换与反变换
F=ztrans(f) 返回独立变量n关于符号向量f的Z变换函数; F=ztrans(f,w) 返回独立变量n关于符号向量f的Z变换函数,用w代替了默认的Z; F=ztrans(f,k,w) 返回独立变量k关于符号向量f的Z变换函数,用w代替了默认的Z。 f=iztrans(F) 返回独立变量Z关于符号向量F的Z反变换函数; f=iztrans(F,k) 返回独立变量k关于符号向量F的Z变换函数,用k代替了默认的z; F=iztrans(F,k,w) 返回独立变量w关于符号向量F的Z变换函数,用k代替了默认的z syms n a w k z T; x1=ztrans(n*T); x1=simplify(x1) x2=iztrans((z+0.5)/(z^2+3*z+2)); x2=simplify(x2)
? (t ? nT )

x1 =T*z/(z-1)^2 x2 =1/4*charfcn[0](n)+1/2*(-1)^n+3/4*(-1)^(1+n)*2^n

2.8 MATLAB常用绘图命令 (报告)
?

MATLAB提供了强大的图形用户界面,在许多应用中,常常要 用绘图功能来实现数据的显示和分析,包括二维图形和三维图 形。在控制系统仿真中,也常常用到绘图,如绘制系统的响应 曲线、根轨迹或频率响应曲线等。 ? 在命令窗口中输入“help graph2d”可得到所有画二维图形的命 令;输入“help graph3d”可得到所有画三维图形的命令。 ? 1.基本的绘图命令 ? 2.图形窗口处理命令 ? 3.坐标轴相关的命令 ? 4.文字标示命令 ? 5.在图形上添加或删除栅格命令 ? 6.图形保持或覆盖命令 ? 7.应用型绘图命令

2.9 MATLAB程序设计 (报告)
?

? ? ?

MATLAB程序类型包括三种:一种是在命令窗口下执行的脚本 M文件;另外一种是可以存取的M文件,即程序文件;最后一 种是函数(function)文件。脚本M文件和程序文件中的变量都 将保存在工作区中,这一点与函数文件是截然不同的。 MATLAB程序有顺序、分支、循环等程序结构以及子程序结构 在MATLAB中,通过if-else-end结构、while结构、switch-caseotherwise结构来实现。 常用的循环有while和for循环。while循环和for循环的区别在于 :while循环结构的循环体被执行的次数不是确定的,而for结构 中循环体的执行次数是确定的。

2.9.3 MATLAB程序基本设计原则 (报告)
? ? ?

? ? ?

?

(1)%后面的内容是程序的注解,要善于运用注解使程序更具可读性。 (2)养成在主程序开头用clear指令清除变量的习惯,以消除工作空间中其 他变量对程序运行的影响,但注意在子程序中不要用clear。 (3)参数值要集中放在程序的开始部分,以便维护。要充分利用MATLAB 工具箱提供的指令来执行所要进行的运算,在语句行之后输入分号使其及中 间结果不在屏幕上显示,以提高执行速度。 (4)input指令可以用来输入一些临时的数据;对于大量参数,则通过建立 一个存储参数的子程序,在主程序中通过子程序的名称来调用。 (5)程序尽量模块化,即采用主程序调用子程序的方法,将所有子程序合 并在一起来执行全部的操作。 (6)充分利用Debugger来进行程序的调试(设置断点、单步执行、连续执 行),并利用其他工具箱或图形用户界面(GUI)的设计技巧,将设计结果 集成到一起。 (7)设置好MATLAB的工作路径,以便程序运行。



更多相关文章:
MATLAB控制系统仿真实验报告
MATLAB控制系统仿真实验报告_电子/电路_工程科技_专业资料。实验一 MATLAB环境的熟悉与基本运算实验 MATLAB语言的程序设计实验 MATLAB的图形绘制实验四 采用SIMULINK...
MATLAB控制系统各种仿真例题(包括simulink解法)
一、 控制系统的模型与转换 1. 请将下面的传递函数模型输入到 matlab 环境。 G (s) ? s ? 4s ? 2 3 s ( s ? 2 )[( s ? 1) ? 2 s ? 5 ]...
matlab 控制系统仿真
matlab 控制系统仿真_电力/水利_工程科技_专业资料。...4 2.1 控制系统理论基础 ... 4 2....5 第 3MATLAB GUI 简介及应用 ... 9 3.1 MATLAB GUI...
第二章 MATLAB系统仿真概论
第二章 MATLAB 系统仿真概论 2.1 MATLAB 简介 MATLAB 是由美国 mathworks 公司发布的主要面对科学计算、可视化以及交 互式程序设计的高科技计算环境。它将数值分析...
控制系统CAD 第2章 MATLAB语言基础
控制系统CAD 第2章 MATLAB语言基础_计算机软件及应用...控制系统CAD课程课件,大专、本科课程课件,自动控制...a = 1 2 3 4 5 6 7 8 9 MATLAB 语言的...
MATLAB与控制系统仿真实验
MATLAB 的基本计算、MATLAB 绘图功能、MATLAB 基本程序设计、SIMULINK 仿真实验、...实验的收获与体会 -2- 《MATLAB 与控制系统仿真》实验指导书 MATLAB 语言实验...
《Matlab与系统仿真》期末考试
红河学院 2011-2012 学年春季学期 《Matlab 与系统仿真》 课程期末考试试卷卷别...第 1 小题采用 SIMLINK 仿真,第 2 小题采用 M 语言编程; 2、程序中的参数...
matlab simulink 控制系统仿真 书籍
MATLAB/Simu link 与控制系统 仿真(第2版) 本书...MATLAB 计算及仿真基础、Simulink 仿真基础、控制系统...Simulink 动态 系统建模与仿 真(第二版) 本书介绍...
MATLAB与系统仿真实验手册
MATLAB 与控制系统仿真实验指导书 河北大学电子信息工程学院 2006 年 9 月 目录 实验一 实验 实验三 实验四 实验五 实验六 实验七 实验八 附录 MATLAB 基本...
MATLAB控制系统仿真实验模板新
MATLAB 仿真实验报告册 实验一 MATLAB/Simulink 仿真基础控制系统 模型的建立 一、 实验目的 1、 2...2、用奈氏判据判断系统稳定性; 3、用 MATLAB 计算...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图