控制工程基础经典控制部分MATLAB分析报告.docx

上传人:b****2 文档编号:654657 上传时间:2022-10-11 格式:DOCX 页数:63 大小:722.73KB
下载 相关 举报
控制工程基础经典控制部分MATLAB分析报告.docx_第1页
第1页 / 共63页
控制工程基础经典控制部分MATLAB分析报告.docx_第2页
第2页 / 共63页
控制工程基础经典控制部分MATLAB分析报告.docx_第3页
第3页 / 共63页
控制工程基础经典控制部分MATLAB分析报告.docx_第4页
第4页 / 共63页
控制工程基础经典控制部分MATLAB分析报告.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

控制工程基础经典控制部分MATLAB分析报告.docx

《控制工程基础经典控制部分MATLAB分析报告.docx》由会员分享,可在线阅读,更多相关《控制工程基础经典控制部分MATLAB分析报告.docx(63页珍藏版)》请在冰豆网上搜索。

控制工程基础经典控制部分MATLAB分析报告.docx

控制工程基础经典控制部分MATLAB分析报告

 

《控制工程基础(经典控制部分)》的MATLAB分析

 

第一章 MATLAB的基本使用

§1-1 MATLAB语言简介

MATLAB是一种高级矩阵语言,它由MathWorks公司于1984年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MATLAB也认为它是只有一个元素的矩阵。

随着MATLAB的发展,特别是它所包含的大量工具箱(应用程序集)的集结,使MATLAB已经成为带有独特数据结构、输入输出、流程控制语句和函数、并且面向对象的高级语言。

MATLAB语言被称为一种“演算纸式的科学计算语言”,它在数值计算、符号运算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊逻辑、系统辨识、小波分析、图象处理、统计分析、甚至于金融财会等广大领域有着十分广泛的用途。

MATLAB语言在工程计算与分析方面具有无可比拟的优异性能。

它集计算、数据可视化和程序设计于一体,并能将问题和解决方案以使用者所熟悉的数学符号或图形表示出来。

MATLAB语言和C语言的关系与C语言和汇编语言的关系类似。

例如当我们需要求一个矩阵的特征值时,在MATLAB下只需由几个字符组成的一条指令即可得出结果,而不必去考虑用什么算法以及如何实现这些算法等低级问题,也不必深入了解相应算法的具体内容。

就象在C语言下不必象汇编语言中去探究乘法是怎样实现的,而只需要采用乘积的结果就可以了。

MATLAB语言还有一个巨大的优点是其高度的可靠性。

例如对于一个病态矩阵的处理,MATLAB不会得出错误的结果,而用C或其它高级语言编写出来的程序可能会得出错误的结果。

这是因为MATLAB函数集及其工具箱都是由一些在该领域卓有研究成果,造诣很深的权威学者经过反复比较所得出来的最优方法,而且经过多年的实践检验被证明是正确可靠的。

§1-2 MATLAB的工作窗口

下面以MATLAB6.1为例介绍。

从实用的角度MATLAB的工作窗口包括命令窗口、M文件编辑器窗口、图形编辑窗口、数学函数庫、应用程序接口及在线窗口。

下面首先介绍MATLAB的命令窗口及M文件编辑器。

一、命令窗口

启动MATLAB之后,屏幕上自动出现命令窗口MATLAB,它是MATLAB提供给用户的操作界面,用户可以在命令窗口内提示符“>>”之后(有的MATLAB版本命令窗口没有提示符)键入MATLAB命令,回车即获得该命令的答案。

命令窗口内有File、Edit、View、Web、Window、Help等菜单条。

二、M文件编辑窗口

M文件是MATLAB语言所特有的文件。

用户可以在M文件编辑窗口内,编写一段程序,调试,运行并存盘,所保存的用户程序即是用户自己的M文件。

MATLAB工具箱中大量的应用程序也是以M文件的形式出现的,这些M文件可以打开来阅读,甚至修改,但应注意,不可改动工具箱中的M文件!

1.进入M文件窗口有两种方法

1)命令窗口—File—New—M-File;

2)命令窗口—点击“File”字样下面的图标。

M文件编辑窗口的标记是“Untitled”(无标题的)。

当用户编写的程序要存盘时,Untitled作为默认文件名提供给用户,自然,用户可以,也应当自己命名。

若用户不自己命名,则MATLAB会对Untitled进行编号。

2.M文件的执行:

返回命令窗口,在当前目录(CurrentDirectory)内选择所要运行的M文件的目录,在命令窗口提示符“>>”后,直接键入文件名(不加后缀)即可运行。

注意:

(1)机器默认路径为一级子目录MATLAB6p1\work;

(2)MATLAB6.1以前的版本,运行M文件的方法稍有不同,它必须在File菜单下,打开“RunScript…”子菜单,键入需要运行的文件路径及名称再回车,在这种情况下,work作为根目录对待,不出现在M文件的路径之中。

本讲义的参考程序都是在M文件窗口下编制的。

三、在线帮助窗口

在命令窗口中键入Help(空格)函数名,可以立即获得该函数的使用方法。

§1-3MATLAB最基本的矩阵操作

作为命令窗口及M文件编辑器的应用实例,介绍几个最基本的矩阵运算命令。

一、矩阵的输入

在方括号内依次按行键入矩阵元素,在一行内的各元素之间用空格或逗号分开,每行之间用分号分开。

例如,在命令窗内输入

A=[223;454;789](注意:

方括号,分号为矩阵行标记)

B=[1,3,5;6,-4,2;3,5,1](逗号与空格功能相同)

A=2 23B=135

4546-42

789351

同理:

输入A1=[2 4 6]得到行矢量,

   输入A2=[2;4;6]得到列矢量,

于是,当输入

C=[A;A1] 有

C=123

456

789

246

A1作为矩阵C的最后一行,C和A相比,增加了一行。

二、矩阵的转置

矩阵A的转置用A′表示,显然,A1与A2互为转置,即A1'会得到以2,4,6为元素的列矢量。

思考一下输入C1=[A A2]

C2=[A A1']

有什么结果?

而输入[A;A1']有无意义?

三、矩阵的四则运算

1.矩阵的加减法:

当两个矩阵维数相同时可以直接进行“+”或“-”运算。

如D1=A+B,D2=A-B

2.矩阵的乘法:

当矩阵A,B维数相容时

C3=A﹡B:

普通意义下的矩阵相乘

C4=A.﹡B:

矩阵A与B的对应元素相乘

显然,A﹡B≠B﹡A(一般情况),而A.﹡B=B.﹡A。

A.﹡B称为数列型乘法,它要求参加运算的矩阵或数列具有相同的行列数,这是MATLAB语言中的一种特殊运算,它在今后求取函数值等运算时是很重要的。

实际上,前面所述的矩阵加、减法就是一种数列型运算。

3.矩阵的除法

D4=A\B:

表示A-1﹡B或inv(A)*B,即A的逆矩阵左乘矩阵B。

D5=B/A:

表示B﹡A-1或B﹡inv(A),即A的逆矩阵右乘B。

D6=A.\B:

表示B的每一个元素被A的对应元素除。

D7=A./B:

表示A的每一个元素被B的对应元素除。

显然,A.\B与A./B的各对应元素互为倒数。

读者可以思考一下,D6.﹡D7等于什么?

D8=inv(A):

A的逆矩阵。

打开M文件编辑窗口,将上述命令依次键入,得到fanli001如下:

参考程序fanli001:

矩阵的四则运算

A=[223;454;789]%三阶矩阵输入

B=[1,3,5;6,-4,2;3,5,1]%三阶矩阵输入

A1=[246]%行向量

A2=[2;4;6]%列向量

C=[A;A1]%矩阵A增加一行

C1=[AA2] %矩阵A增加一列

C2=[AA1'] %矩阵A增加一列

D1=[A+B] %矩阵相加

D2=A-B %矩阵相减

C3=A*B %矩阵与矩阵相乘

C4=A.*B %矩阵的对应元素相乘

D3=A\B %A的逆左乘B

D4=B/A %A的逆右乘B

D6=A.\B %B的各元素被A的对应元素除

D7=A./B %A的各元素被B的对应元素除

D8=inv(A) %A的逆矩阵

语句后面的%为语句说明符。

MATLAB中矩阵运算的其它主要命令可通过在线帮助获得。

§1-4 MATLAB的符号运算操作

一、进入符号运算功能

在命令窗口键入

symsxyzt

此后,即可以使用x,y,z,t等作自变量定义函数。

symsxyztreal规定所定义的变量为实型。

二、代数方程求解

使用命令solve可以求解代数方程,如求下例方程组

 的解,命令为

[x,y]=solve(‘x^2+x*y+y-3=0,x^2-4*x-2*y+3=0’)

程序见范例程序fanli002。

参考程序fanli002:

代数方程求解

symsxy %进入符号运算功能

f1=x^2+x*y+y-3 %函数f1

f2=x^2-4*x-2*y+3%函数f2

[x,y]=solve('x^2+x*y+y-3=0','x^2-4*x-2*y+3=0')

%求解方程组

f1a=simplify(subs(f1))%用求解出的x,y检验方程1

f2a=simplify(subs(f2))%用求解出的x,y检验方程2

x=double(x)%将符号变量转换成浮点数

y=double(y)%将符号变量转换成浮点数

f1=subs(f1)%用浮点数x,y检验方程1

f2=subs(f2)%用浮点数x,y检验方程2

由solve求出的根是根的符号表达形式,是准确解。

命令simplify(f)表示化简,subs(f1)表示将求解出x,y代回f1中;double是将符号变量转换成浮点数,是准确解x,y的近似值。

这从程序运行f1a=0,f2a=0,f1≠0,f2≠0可以确认。

三、符号矩阵运算

符号矩阵可以和数值矩阵一样进行运算,例如:

求矩阵特征值eig,求矩阵的逆inv等命令都支持符号运算。

计算其特征值eig(A),逆矩阵inv(A),程序见fanli003。

参考程序fanli003:

符号矩阵的特征值

symstreal %定义为实型变量

A=[sin(t)-cos(t);cos(t)sin(t)]%定义矩阵A

B1=eig(A)%求矩阵A的特征值

B1=simple(B1)%化简A的特征值表达式

B2=inv(A)%求矩阵A的逆矩阵

B2=simple(B2)%化简A的逆矩阵表达式

C1=A*B2%检验A的逆矩阵

C1=simple(C1)%C1为单位矩阵

注意函数的输入方法,自变量用圆括号括起来。

四、微积分运算

设函数,则MATLAB中微积分运算命令为

fiff(f):

求函数f对自变量x的一阶导数;

diff(f,2):

求函数f对自变量x的二阶导数;

int(f):

求函数f的不定积分

例1.1,设

试计算其一阶,二阶导数,积分运算,并作出函数图象,见范例fanli004。

参考程序fanli004:

函数的微分与积分

symsx

f=1/(5+4*cos(x))

ezplot(f)%函数f的曲线

f1=diff(f)%函数f的一阶导数

figure,ezplot(f1)%函数f一阶导数的曲线

f2=diff(f,2)%函数f的二阶导数

figure,ezplot(f2)%函数f二阶导数的曲线

g=int(int(f2))%函数f的二阶导数f2的二重积分

figure,ezplot(g)%函数f2二重积分的曲线

e=f-g%二阶导数的二重积分与原函数的差

e=simple(e)

figure,ezplot(e)

程序中

ezplot(f):

作函数的图形,x的取值范围默认值为-2π

fanli004的函数曲线

fanli004的一阶导函数曲线

fanli004的二阶导函数曲线

fanli004的二阶导函数的二重积分曲线

ezplot(f)是一个很有用的作图命令,它的其它应用形式,请查在线帮助。

细心的读者会发现,一个函数求二阶导数后再对二阶导数进行二重积分,其结果与原函数相差一个常数。

相当于纵坐标发生平移。

第二章 系统的时域特性

§2-1 传递函数

一、传递函数的两种形式

传递函数通常表达成s的有理分式形式及零极点增益形式。

设传递函数

1.有理分式形式

分别将分子、分母中s多项式的系数按降幂排列成行矢量,缺项的系数用0补齐。

上述函数可表示为

num1=[21]%(注意:

方括号,同一行的各元素间留空格

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1