matlab在控制中的应用_第1页
matlab在控制中的应用_第2页
matlab在控制中的应用_第3页
matlab在控制中的应用_第4页
matlab在控制中的应用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——matlab在控制中的应用《控制工程基础(经典控制部分)》

的MATLAB分析

机电工程系

郭天石李建明四川轻化工学院

二零零二年九月

前言

在学习《工程控制基础》及其它相关的控制理论课程时,大量计算问题越来越离不开计算机辅助分析及计算机辅助设计。在计算机性能迅速提高和各种软件大量涌现的今天,机辅分析与机辅设计也越来越便利。我们希望,在进行机辅分析及机辅设计时,把主要精力放在对计算机计算处理后的数据、曲线的控制特性分析上,而不在编程及调试程序上花费太多的时间,使计算机真正成为学习相关课程和解决实际问题的工具。因此,我们编写这本在MATLAB语言支持下进行控制方面的机辅分析及机辅设计的讲义,力图从实用的角度,介绍MATLAB语言在经典控制方面的一些典型应用。

第一章MATLAB的基本使用

§1-1MATLAB语言简介

MATLAB是一种高级矩阵语言,它由MathWorks公司于1984年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MATLAB也认为它是只有一个元素的矩阵。随着MATLAB的发展,特别是它所包含的大量工具箱(应用程序集)的集结,使MATLAB已经成为带有独特数据结构、输入输出、流程控制语句和函数、并且面向对象的高级语言。MATLAB语言被称为一种“演算纸式的科学计算语言〞,它在数值计算、符号运算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊规律、系统辨识、小波分析、图象处理、统计分析、甚至于金融财会等广大领域有着十分广泛的用途。

MATLAB语言在工程计算与分析方面具有无可比较的优异性能。它集计算、数据可视化和程序设计于一体,并能将问题和解决方案以使用者所熟悉的数学符号或图形表示出来。

MATLAB语言和C语言的关系与C语言和汇编语言的关系类似。例如当我们需要求一个矩阵的特征值时,在MATLAB下只需由几个字符组成的一条指令即可得出结果,而不必去考虑用什么算法以及如何实现这些算法等低级问题,也不必深入了解相应算法的具体内容。就象在C语言下不必象汇编语言中去探究乘法是怎样实现的,而只需要采用乘积的结果就可以了。

MATLAB语言还有一个巨大的优点是其高度的可靠性。例如对于一个病态矩阵的处理,MATLAB不会得出错误的结果,而用C或其它高级语言编写出来的程序可能会得出错误的结果。这是由于MATLAB函数集及其工具箱都是由一些在该领域卓有研究成果,造诣很深的权威学者经过反复比较所得出来的最优方法,而且经过多年的实践检验被证明是正确可靠的。

§1-2MATLAB的工作窗口

下面以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=223B=1354546-42789351同理:输入A1=[246]得到行矢量,输入A2=[2;4;6]得到列矢量,于是,当输入C=[A;A1]↙有C=123456789246

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

二、矩阵的转置

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

思考一下输入C1=[AA2]↙C2=[AA1']↙有什么结果?而输入[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的逆左乘BD4=B/A%A的逆右乘B

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

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

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

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

§1-4MATLAB的符号运算操作一、进入符号运算功能

在命令窗口键入symsxyzt↙

此后,即可以使用x,y,z,t等作自变量定义函数。symsxyztreal↙规定所定义的变量为实型。

二、代数方程求解

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

?x2?xy?y?3?0?2?x?4x?2y?3?0的解,命令为

[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%函数f1f2=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检验方程1f2a=simplify(subs(f2))%用求解出的x,y检验方程2x=double(x)%将符号变量转换成浮点数y=double(y)%将符号变量转

温馨提示

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

评论

0/150

提交评论