控制基础实验指导书

上传人:mg****85 文档编号:36904693 上传时间:2018-04-04 格式:DOC 页数:47 大小:595.50KB
返回 下载 相关 举报
控制基础实验指导书_第1页
第1页 / 共47页
控制基础实验指导书_第2页
第2页 / 共47页
控制基础实验指导书_第3页
第3页 / 共47页
控制基础实验指导书_第4页
第4页 / 共47页
控制基础实验指导书_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《控制基础实验指导书》由会员分享,可在线阅读,更多相关《控制基础实验指导书(47页珍藏版)》请在金锄头文库上搜索。

1、1第一章第一章 MATLABMATLAB 的简介的简介1.11.1 概述概述MATLAB 是 MathWorks 公司于 1982 年推出的一套高性能的数值计算和可视化软件,MATLAB 的图形、打印、联机帮助等功能齐全。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。MATLAB 的推出得到了各个领域专家学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础。现在比较新的版本是 7.0 版。MATLAB 是一个计算核心,围绕着这个计算核心,有许多针对不同应用所开发的应用程序,称为工具箱(Toolboxes) 。工具箱的总数已有上百个,其中主要有:信

2、号处理(Signal Processing) 、控制系统(Control System) 、神经网络(Neural Network) 、通信(Communication) 、图像处理(Image Processing) 、鲁棒控制(Robust Control) 、非线性控制系统设计(Nonlinear Control System Design) 、系统辨识(System Identification) 、最优化(Optimization) 、 分析与综合( Analysis and Synthesis) 、模糊系统(Fuzzy System) 、小波(Wavelet)分析和样条(Splin

3、e)等工具箱。这些工具箱给各个领域的研究和工程应用提供了有利的帮助,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,大大地节省了编程时间。除 MATLAB 之外,MathWorks 公司还有两项主要相关产品,即 Simulink 及Stateflow。Simulink 专用于连续或离散时间的动态系统仿真;Stateflow 则用于仿真有限状态机(Finite State Machines)或事件驱动系统(Event-driven Systems) 。控制基础课程安排实验的目的就是让非电专业的学生初步掌握 MATLAB语言,学会用简单的 MATLAB 函数分析线性控制系统的基本性能,从

4、而为今后的学习和工作打下基础。MATLAB 下提供了两种文件格式,其中一种是普通的 ASCII 码构成的文件,在这样的文件中只能由 MATLAB 语言所支持的语句,类似于 DOS 下的批处理文件,这种文件称为 M 文件,它的执行方式很简单,用户只需在“file”下新建一个“M-file”,在“M-file”窗口下逐条输入语句,存盘在“work” 文件夹下,然后单击“debug”下的“run”,这样在“Conmand Window”窗口下即可看到执行的结果。它采用文本方式,编程效率高,可读性很强。2MATLAB 的另一种,也是最常用的特殊 M 文件称为 MATLAB 函数,这样的函数是由 fun

5、ction 语句引导的,其基本格式如下Function 返回变量列表=函数名(输入变量列表)注释说明语句段函数体语句使用时用户也是在“M-file”窗口下逐条输入语句,存盘在“work” 文件夹下,调用时在 MATLAB 的提示符下键入函数名,并包括输入变量。类似于 C 语言的子程序调用。如function plot_sin(xmin,xmax)x=xmin:min(0.01,(xmax-xmin)/100):xmax;plot(x,sin(x);%This is a demo MATLAB 的函数名定义几乎与数学描述一样,接近书写计算公式的思维方式,如min(),max()。它的基本命令包括

6、:数学函数、矩阵、数值方法、绘图、字符串、文件 I/O 等数百条。1.21.2 使用变量与基本计算使用变量与基本计算MATLAB 能识别一般常用的加(+) 、减(-) 、乘(*) 、除(/) 、幂次()等数学运算符号,因此在 MATLAB 下进行基本运算,最快速简单的方法是在 MATLAB 命令窗口(Command Window)内的提示符号()之后输入表达式,并按下 Enter 键即可。例如(5*2+3.5)/5ans=2.7000MATLAB 会将计算结果直接存入默认变量 ans 中(即 MATLAB 语句的返回值) ,代表 MATLAB 运算后的答案(Answer) ,并在屏幕上显示其运

7、算结果的数值(在上例中,即为 2.7000) 。若不想让 MATLAB 每次都显示运算结果,只需在表达式最后加上分号(;)即可,例如:(5*2+3.5)/5;在上例中,由于表达式后面加入了分号,因此 MATLAB 只会将运算结果储存在默认变量 ans 内,不会显示于屏幕上;在需要时取用或显示此运算结果,可直接输入变量 ans ,例如(接上例)ans3ans=2.7000使用者也可将运算结果储存于使用者自己设定的变量 x(或其他变量,如y、x0、x1 等)内,例如 x=(5*2+3.5)/5x=2.7000MATLAB 会将所有在百分比符号(%)之后的文字视为程序的注解(Comments) ,例

8、如 y=(5*2+3.5)/5;%将运算结果储存于变量 y 内,但不显示于屏幕z=y2 %将运算结果储存于变量 z 内,并显示于屏幕z=7.2900在上例中,百分比符号之后的文字会被 MATLAB 忽略不执行,但它的使用可提高MATLAB 程序的可读性。MATLAB 可同时执行以逗号(, )或分号(;)隔开的数个表达式,例如x=sin(pi/3);y=x2;z=y*10z=7.5000若一个数学表达式太长,可用三个句点(.)将其延伸到下一行,例如z=10*sin(pi/3)*.sin(pi/3)z=7.5000提示:变量命名规则与使用(1)第一个字母必须是英文字母;(2)字母间不可留空格;(3

9、)最多只能有 31 个字母,MATLAB 会忽略多余字母;(4)MATLAB 在使用变量时,不需预先经过变量声明的程序,而且所有数值变量均以默认的 double 数据类型储存。1.31.3 向量与矩阵的处理向量与矩阵的处理在上述的各例中,MATLAB 的变量用来储存标量(Scalars) ,其实 MATLAB 中的变量还可用来储存向量(Vectors)及矩阵(Martrix) ,MATLAB 以复数矩阵为最基本的4运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独的处理,例如s=1 3 5 2; %注意 的使用及各数字间的空白间隔t=2*s+1t=3 7 11 5在上例中,

10、MATLAB 使用中括号( ) ,来建立一个行向量1 3 5 2(或是14 大小的矩阵1 3 5 2) ,将其储存于变量 s 中,再对其进行运算产生另一新的行向量3 7 11 5,并将其结果储存在变量 t 中。提示:s=1 3 5 2 与 s=1, 3, 5, 2的效果是一样的。MATLAB 也可取出向量中的一个元素或一部分来做运算,例如(接上例)t(3)=2 %将向量 t 的第三个元素改为 2t= 37 2 5t(6)=10 %在向量 t 中加入第六个元素,其值为 10t=37 2 5 0 10t(4)= %将向量 t 的第四个元素删除t=37 2 0 10s(2)*3+t(4) %取出向量

11、 s 的第二个元素和向量 t 的第四个元素做运算ans=9t(2:4)-1 %取出向量 t 的第二至第四个元素做运算ans=61 -1用类似上述建立向量的方法,使用者可以建立 mn 大小的矩阵(m 代表矩阵的行数,n 代表矩阵的列数) ,但必须在每一行结尾加上分号(;) ,例如A=1 2 3 4;5 6 7 8;9 10 11 12;%建立 34 的矩阵 AA %显示矩阵 A 内容A=1 2 3 4 5 6 7 8 59 10 11 12同样,我们可以对矩阵进行各种处理,例如(接上例)A(2,3)=5 %将矩阵 A 第二行、第三列的元素值改为 5A=1 2 3 4 5 6 5 8 9 10 1

12、1 12B=A(2,1:3) %取出矩阵 A 第二行、第一列至第三列的元素值,%储存成一新矩阵 BB=5 6 5A=A B %将矩阵 B 转置后,再以列向量并入矩阵 AA=1 2 3 4 55 6 5 8 69 10 11 12 5A(: :,2)= %删除矩阵 A 第二列(:代表所有行,代表空矩阵)A=1 3 4 55 5 8 69 11 12 5A=A;4 3 2 1 %在原矩阵 A 中,加入第四行A=1 3 4 55 5 8 69 11 12 54 3 2 1A(1 4,:)= %删除第一、第四行(: :代表所有列,代表空矩阵)A=5 5 8 69 11 12 5在 MATLAB 下,矩

13、阵 A 和矩阵 B 的乘积(假定其中 A、B 矩阵是可乘的)可以简单地由运算 C=A*B 求出A=1,0,1;1,0,0;2,1,0;6B=1,0,2;2,1,1;1,0,1;C=A*BC=2 0 31 0 24 1 5而 D=A.*B 称点乘积运算,即表示 A 和 B 矩阵的相应元素之间直接进行乘法运算,然后将结果赋给 D 矩阵,点乘积运算要求 A 和 B 矩阵的维数相同。D=A.*BD=1 0 22 0 02 0 01.41.4 常用数学函数常用数学函数MATLAB 是一个科学计算软件,因此它可以支持很多数学函数,例如x=4;y=abs(x) %取 x 的绝对值y=4y=sin(x) %取

14、 x 的正弦值y=-0.7568MATLAB 也支持复数运算,通常以 i 或 j 代表单位虚数,例如1z=5+4j %复数 z=5+4(此处 j 也可换成 i)1z=5.0000+4.0000iy=angle(z) %复数 z 的相角y=0.6747real(z) %返回复数 z 的实部ans=5MATLAB 有相当完整的数学函数及三角函数,见表 1.1 和表 1.2。这些基本数学函数也都可用于向量或矩阵,例如7x=4 2j 9 ;y=sqrt(x) %对 x 开平方y=2.0000 1.0000+1.0000j 3.0000在上例中,sqrt(x)函数会对 x 的每一个元素进行开平方的运算。

15、另外,MATLAB 还有一些函数是特别针对向量设计的,例如x=1 2 3 0 12;y=min(x) %向量 x 的最小值y=0 表 1.1 MATLAB 常用数学函数表 1.2 MATLAB 常用三角函数函数说 明函数说 明sin(x)正弦函数asin(x)反正弦函数cos(x)余弦函数acos(x)反余弦函数tan(x)正切函数atan(x)反正切函数函数说 明函数说 明abs(x)标量的绝对值或复数的幅值fix(x)对原点方向取紧邻整数exp(x)自然指数 exceil(x)对+方向取紧邻整数pow2(x)2 的指数 2xfloor(x)对-方向取紧邻整数sqrt(x)开平方gcd(x,y)整数 x 和 y 的最大公约数log(x)自然对数 ln(x)lcm(x,y)整数 x 和 y 的最小公倍数log2(x)以 2 为底的对数 log2(x)rem(x,y)求 x 除以 y 的余数log10(x)以 10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号