控制系统仿真技术教案_第1页
控制系统仿真技术教案_第2页
控制系统仿真技术教案_第3页
控制系统仿真技术教案_第4页
控制系统仿真技术教案_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

遇黄〃亭忱

《控制系统仿真技术》教案

编者:赵磊

机电与信息工程学院

黄山学院控制系统仿真技术课程教案

授课教师赵磊教研室自动化授课班级11自动化

授课题目MATLAB基础授课类型■理论■实践

课程类别口必修课■选修课口讲座教学课时4课时

授课日期授课地点4317

教学目的

与要求

教学重点教学难点

教学手段

启发式多媒体授课

教学方法(教具与

媒体使用)

思考题与

课后作业

参考资料

进一步联系生活,形成生动教学,强化工程应用的联系,加强

课后小结应用型课程的建设,逐步向项目驱动教学和案例教学转化,使课程

符合“卓越计划”培养标准的要求。

黄山学院自动控制原理课程教案纸

时间

主要教学过程

分配

教学过程:

第一讲MATLAB基础

1.1目的和意义

1.2MATLAB操作界面

&1«14>«22,eUMN3,

碑7gartgurt)«MTLAB7Wverkv©

,f\HOWlOAMf)

nd・》nd<>・

£)oa®®犯

to<»tetar«・4

)ch«p1_1m<SZ7

-6-7X

4c2PL6E10-

累0-»X

工作空间X

10曲-

黑X

kteMPOmm,10.3

118-

tuntflcdmdl日1

当前目录4

命令窗口

dmve«nv((l,l).e«nv((l.I],(I21))

历史窗口bM«(nu».d«n)

ny4uici(nua,dwt)

t*9:0.l*9»:2*pi

ia(n<a^

(7)

(nasdm>

ycl・ia<C.s)

plat(y)

81—W-ITT+如《9—»

1c

ole

<-M-I-9下午1(h09-%

*-0»*l*9T*JOtl«—*

1)命令窗口(CommandWindow)

MATLAB的所有函数和命令都可以在命令窗口中执行。MATLAB命令窗口中的“>〉”

为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命令(或语句)

并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。

例:命令窗口输入cosOr/3)指令,然后按回车键,会出现什么结果?

2)历史命令窗口(CommandHistory)

默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时

间,以方便使用者的查询。

Co**andHistory

FileEditDebugDesktopWindowHelp0

a-%—13-12-14下午9:33—%人

:…sys=tf([6030],[191710])

3%—13-12-14下午10:17—%

sys=tf([6030],[191710])

3%—13-12-14下午10:34—%

?…sys=tf([6030],[191710])

3%—14-2-24下午7:34—%

'.cos(pi/3)V

3)当前目录窗口(CurrentDirectory)

在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括

文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。

CurrentDirectory-C:\Docu>entsancLSetting...[kJ回区

FileEditViewDebugDesktopWindowHelp

tsandSettings\Administrator\MyDocuments\MATLABV匕J国首A

AllFiles▲TypeSizeDateModified

Iyarijiyiibdrixi.rriIVI-IIIUiA口ii-o-1□rT4.ui

已stepchar,mM-file1KB13-127下午12:21

画Untitled,asvEditorAutosave1KB11-4-27下午4:12

Untitled,mM-file1KB11-4-27下午4:14

Wuntitled.mdlModel24KB13-5-5上午11:42

ajuntitledl.mdlModel23KB13-5-5上午11:42

QUntitled2.mM-file1KB11-7-12下午5:15

Qxinlisanxitongmaich...EditorAutosave1KB11-8-11下午2:12

Qxinlisanxitongmaich...M-file1KB11-8-11下午2:23

<为

4)工作空间窗口(Workspace)

工作空间在MATLAB运行期间一直存在,关闭MATLAB后自动消失,当运行MATLAB

程序时,程序中的变量将被加载到工作空间中。在一个程序中的运算结果以变量的

形式保存在工作空间后,在MATLAB关闭之前该变量还可以被别的程序调用。在工作

空间窗口中将显示所有目前保存在内存中的MATLAB变量的变量名、数据结构、字节

数以及类型,而不同的变量类型分别对应不同的变量名图标。用户可用命令对工作

空间中的变量进行显示、删除或保存等操作。

【注意】:内存变量的查阅和删除命令

who%查看工作空间中变量的名字

whos%查看工作空间中变量的详细信息

clear/删除工作空间中的所有变量

clearab%删除变量a,b

size(a)/变量的大小

length(a)%求取变量的长度,返回最大维数

例:运行下面MATLAB命令,并查看内存变量。

・>KATLAB7.6.0(R2008a)区|

FileEditDebugParallelDesktopWindowHelp

l言|也、下>9OI"H当❷IDocuments\MATLAB***[..|巨

ShortcutsHowtoAddWhat,>zNew

Yourvariablesare:

abc

[«$七ayt]

G

s1z6

BytesClassAttributes

.e

X1X1

mJ8double

o2X3

X48double

23

48double

tartOVR.:

MATLAB7.6.0(R2008a)IS回区

FileEditDebugParallelDesktopWindowHelp

€3|M*0。|IhdmiGiMtr.tcrVMyDocwat3Vm

ShortcutsHowtoAddilWhat'sNew

ans

.23

U

m

»length(b)

--.

a

BD

wd

Mo3

「♦Sit]

1.3MATLAB的帮助系统

1.3.1普通文本帮助

【命令】:help函数名/文件名外显示相关函数/文件的帮助注释区

o>>helpsize

A

XSIZESizeofarray.

O

3

UD=SIZE(X),forM-by-Nmatrix凡returnsthetwo-elementrowvector

3

s乂D=[M,N]containingthenumberofrowsandcolumnsinthematrix.

~

uForN-Darrays,SIZE(X)returnsa1-by^Nvectorofdimensionlengths.

3

x

.Trailingsingletondimensionsareignored.

m

(a_)

J

R

d(工

sXN]=SIZE(X)formatrixreturnsthenumberofrowsandcoluinnsin

w

x

。Xasseparateoutputvariables.

*

[Ml,M2,M3,・・・,MN]=SIZE(X)forN>1returnsthesizesofthefirstN

dimensionsofthearrayX.IfthenumberofoutputargumentsNdoes

notequalNDIMS(X),thenfor:

N>NDIMS(X)3SIZEreturnsonesinthe“extra“variables,i.e.,outputs

NDIMS(X)+lthroughN.

N<NDIMS(X),MNcontainstheproductofthesizesofdimensionsN

throughNDIMS(X).

M=SIZE(X,DIM)returnsthelengthofthedimensionspecified

bythescalarDIM.Forexample,SIZE(X31)returnsthenumber

ofrows.IfDIM>NDIMS(X),Mwillbe1.

WhenSIZEisappliedtoaJavaarray,thenumberofrows

returnedisthelengthoftheJavaarrayandthenumberofcolumns

isalways1.WhenSIZEisappliedtoaJavaarrayofarrays,the

resultdescribesonlythetoplevelarrayinthearrayofarrays.

1.3.2超文本帮助

IZ)回区I

FileEditViewGoFavoritesDesktopWindowHelp

HnIpgatoix..Q2M

S«*rcKCor:j|vTitle:MATLAB

Example:"plottools*ORplot*tools

5

ContentsIndexSearcKRoxultz.DemoxMATLAB

fflReleaseNotes

&◎Installation

土9MATLAB.Functions:HandleGraphics:

iAerospaceToolboxByCategory।ObjectProperties

申BioinformaticsToolboxAlphabeticalList

十CommunicationsToolbox

申。

ControlSystemToolboxWhat'sNew

电CurveFittingToolbox

+多DataAcquisitionToolbox

MATLAB®ReleaseNotes

电&DatabaseToolbox

^DatafeedToolboxSummarizesnewfeatures,bugfixes,upgradeissues,

etc.forMATLAB

申多EmbeddedMATLAB

+FiltfirCaaicnTnnlhnv-

aJ

1.4MATLAB编程基础

基本语法和基本规则

1)变量

【变量(包括函数)命名规则】:

(1)必须以字母开头;

(2)可以由字母、数字和下划线混合组成;

(3)变量长度应不大于31个;

(4)字母区分大小写。

NameValue

田A4

Iffia1

2

zBa_13

【特殊变量工

变量名称功能变量名称功能

ans保存最后一次的运算结果Pi圆周率

realmax最大的浮点数值realmin最小的浮点数值

j虚数单位j虚数单位

inf正无穷大NaN非数(0/0.Inf/Inf)

2)基本数据类型

数据类型(class)举例解释

double(双精度)[1,2;3,4],5+6i最常用的类型

char(字符型)3hello字符数组,每个字符占16位

sparse(稀疏型)speye(5)双精度稀疏矩阵,只存储矩阵中的非。元素

cell(细胞型){[1,2,3;4,5,6;7,8,9]/hello\eye(2))细胞数组,数组中的每个元素可为不同类型

struct(结构型)a.day=12,a.color=,red3相当于数据库的记录

storage(存储型)unit8(magic⑶)8位型,为无符号整数。最大可表示255,

3)基本语句

赋值变量=表达式

例:

>>

a=(l+sqrt(10))/2

3

”2.0811

4)关于程序编辑

(1)语句可以由分号(:)、逗号(,)或回车(Enter)结束。如果用分号结束。

则左边的变量结果不会显示在命令窗口,否则将显示左侧变量的值。

(2)每行可以写多条语句,语句之间用空格、逗号、分号进行分隔。

(3)用三个或者三个以上的黑点表示“续行”,表示下一行是上一行的继续。

»2,3;...

4,5,6]

A=

123

456

(4)用%表示注释,%开始一直到行末的内容都是注释,注释内容不参与程序运行。

1.5数组(矩阵)

1.5.1一维数组

1、一维数组的创建

(1)逐个元素输入法

JI»a=[1.0,2+2.4i3*pi]%逐个输入数组中的元素值

a

1.00002.0000+2.400019.4248

(2)冒号运算符法

J»b=l:1:5%用国号运算符循环产生数组元素

b=

12345

【注意】:冒号运算符的格式是:a=sl:s2:s3o

其中si是起始值,S2是步距,S3是终止值。

(3)线性分隔法

1inspace(1,5s9)

s=

Columns1through7

1.00001.50002.00002.50003.00003.50004.0000

Columns8through9

4.50005.0000

【注忌】:linspace函数的调用格式为:x=linspace(a,b,,n)□

(4)对数分割法

1>>logspace(0,3,4)

ans=

J1101001000

【注意】:logspace函数的调用格式为:x=logspace(a,b,,n)

生成数组的第一个元素值为10%最后一个元素为10\数组共有n个元素,

&Ib-a乂]

这n个元素依次为=,…“-1。

2、一维数组的访问

【方法】:(1)用下标方式访问数组元素,下标要用一对圆括号()引起来。

(2)下标代表的是元素在数组中的位置序号。

(3)下标可以是常量,也可以是变量。

(4)可以访问数组中的单个元素,也可以访问数组中的某些元素,及数组

的子数组。

例:

口>>x=rand(l,5)%产生1*5的均匀分布随机数组

x=

0.81470.90580.12700.91340.6324

»x(l)%读数组的第一个元素

ans=

0.8147

»x([l,4])%返回数组的第1个和第4个元素构成的子数组

ans=

0.81470.9134

X

(1:3)%返回数组的钱3个元素构成的子数组

0.81470.90580.1270

»x(l)=0%数组的第1个元素赋值0

00.90580.12700.91340.6324

4

xA(end:-l:1)%获得一维数组的倒叙数组

~o1>>

Ian

u£lS

»l口

0.63240.91340.12700.90580

1.5.2二维数组

1、二维数组的创建

【规则】:(1)整个数组必须用□括起来。

(2)数组的行与行之间用分号“:”分隔。

(3)每行之间的元素必须用逗号“,”,或者空格分隔。

(4)分隔符必须是英文字符,即在英文状态下输入分号、括号、方括号、

逗号等。

例:

B

E

E

O»x=[l23;4,56;2*pi,3+i0]

3

A

'X=

o

t

t

o1.00002.00003.0000

4.00005.00006.0000

6.28323.0000+l.OOOOi0

2、二维数组的访问

例:

»A=zeros(2,4)%生成2行4列的全。数组

A

a

§A=

E

5

J

0000

-r

m0000

2

O'

M

二»A(2,4)=4%第2行4列元素赋值为4

a

V

JA=

J

0000

0004

1.5.3多维数组

1、多维数组的创建

(1)直接通过全下标方式进行元素赋值。

(2)用低维数组合成多维数组。

(3)用数组生成函数(ones/zeros/rand等)生成多维数组。

例:

工»A(2,2,3)=10凫创建三维(2*2*3)数组

p

sA

i=

A

00

-

00

I

O

t

tA(:,:,2)=

o

a

x00

d

s

^00

O

M

A(:,:,3)=

00

010

2、多维数组的访问

(1)可以通过全下标方式访问。对三维数组来说,第一维下标称为“行下标”,

第二维下标称为“列下标”,第三维下标称为“页下标二

(2)数组维数通过ndims函数获取。

(3)数组尺寸通过size函数获取。

(4)数组的所有维中的最大长度通过length函数获取。

>>A=ortes(2,4,3);%创建2/4*3的三维函数

>>size(A)%获取维致A的大川、

ans

243

>>lengtK(A)为荻取数组A的最长雉数的长度

ans

et

d

s4

10

>>ndims(A)%缺得数组A

1.5.4数组操作

1、标准数组的生成

(1)ones一一生成全1数组,即数组中的元素都为1

【调用格式工

Y=ones(n)%生成n*n的全1矩阵

Y=ones(size(A))/生成和数组A同样尺寸的全1数组

(2)zeros-----同ones函数相似

(3)rand——生成均匀分布随机数组

(4)randn----生成正态分布随机数组

(5)eye----产生单位矩阵

1.6数组运算与矩阵运算

【定义】:数组运算是指对数组中的每个元素进行相同的运算,注意数组运算的行

与列必须相同。数组运算可以通过MATLAB提供的运算符和数组运算函数实现。

矩阵运算是则遵循线性代数的一般规则。

两标量间的数学运算符

运算符代数形式MATLAB形式

加号A+BA+B

减号A-B________________________A-B_______________

乘号AXBA*B

A

除号一A/B

________B__________________________________

指数dA^B

常见的数组和矩阵运电

MATLAB形式注释

数组加法A+B数组加法和矩阵加法相同

数组减法A-B数组减法和矩阵减法相同

双力“正在AA和B的元素逐个对应相乘.两数组之间必须有相同

数组乘法AB的形,或其中-个是标量.

矩阵乘法A*BA和B的矩阵乘法.A的列数必须和B的行数相同.

A和B的元素逐个对应相除:

数组右除法A./BA(iJ)/B(iJ)两数组之间必须有相同的形,或其中一个

是标量.

A和B的元素逐个对应相除:

数组左除法A.\BB(iJ)/A(iJ)两数组之间必须有相同的形,或其中一个

是标量.

矩阵右除法A/B矩阵除法,等价于A*inv(B),inv(B)是B的逆阵

矩阵左除法A\B矩阵除法,等价于inv(B)*A,inv(A)是A的逆阵

AB中的元素逐个进行如下运算A(ijrB(ij),

数组指数运算A3BA(ij)/B(iJ)两数组之间必须有相同的形,或其中一个

例:矩阵运算和数组运算

&|»A=[l4;916];

«»Aq=sqrt(A)%数组的平方根

»印

?e皿s=

|Aq=J

H-J710

1pM1

2\1522

34(

t>>Aqm=sqrtm(A)%矩阵的平方根U>>Aq,*Aq*初蛆相乖

@Aqm=13ns-

uCM1,岂1

0.4662+0.9359i0.8860-0.2189i/14

1.9935-0.4924i3.7888+0.1152i与916

R课本34Mo

1.7多项式

多项式/5(x)=a“/+4iX"T+-+4X+ao,在MATLAB里多项式用其系数行向

量表小,表小P=[a〃,—1,…,al,aO]。

1)多项式的创建

(1)直接输入法,例:

21»P=[l234]

sP=

1234

(2)poly(A),若A为方阵,则创建方阵A的特征多项式。

(3)poly(a),如果向量a=[bn,bn-l,…,bl,bO],则创建

(%-4)(》-伪>..(》-%)(》-2)生产的多项式的系数向量。

2)多项式运算

(1)多项式加减:+,-

(2)多项式相乘:p=conv(pl,p2)

(3)多项式相除:[q,r]=deconv(pl,p2)

【说明】:多项式pl除以多项式p2,商多项式为q,余多项式为r。

(4)多项式求导:dp=polyder(p)

(5)多项式求值:pA=polyval(p,A)

(6)多项式求根:r=roots(p)

(7)矩阵的特征多项式:p=poly(A)

例:多项式的创建和运算

>>pl=[11];凫定义多项式pl(x)=x+l

»PSl=poly2str(pl,yx,)凫用习惯的方式显示多项式

PSI=

x+1

»p2=[l11];%定义多项式p2(x)=ir2+x+l

>>PS2=poly2str(p2,*x*);

>>[q,r]=deconv(p2,pl)凫求p2/pl

q=

10

r=

001

1.8逻辑关系运算

符号运算符功能函数名

&逻辑与and

1逻辑或or

逻辑非not

逻辑异或xor

==等于eq

〜_

不等于ne

<小于It

>大于gt

<=小于等于le

>=大于等于ge

【练习工

1、回答关于下列矩阵的有关问题

-1.1-3.23.40.6

C=0.61.1-0.63.1

1.30.65.50.0

(1)C的大小是多少?

(2)C(2,3)的值是多少?

(3)列出值为0.6的元素的下标

2、c数组的定义如下,写出下面子数组的内容

c=

1.1000-3.20003.40000.6000

0.60001.1000-0.600

温馨提示

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

评论

0/150

提交评论