《自动控制原理课程设计MATLAB及应用课件》由会员分享,可在线阅读,更多相关《自动控制原理课程设计MATLAB及应用课件(356页珍藏版)》请在金锄头文库上搜索。
1、2020/9/13,1,MATLAB及在控制系统课程中的应用,主讲:张德祥 联系电话:13856084212,2010年12月20日,2020/9/13,2,参考书目,1、Matlab及在电子信息课程中的应用(第二版) 陈怀琛 电子工业出版社 2004年1月 2、控制系统仿真与计算机辅助设计 薛定宇(东北大学) 机械工业出版社 2005年1月 3、控制系统数字仿真与CAD (第二版) 张晓华(哈尔滨工业大学)机械工业出版社 2006年5月 4、控制系统的数字仿真与计算机辅助设计 钱积新等 化学工业出版社 2003年5月 5、基于MATLAB的系统分析与设计控制系统 楼顺天等 西安电子科技大学出
2、版社 6、MATLAB6.X 教程 7、MATLAB与控制系统仿真实践 定价:34 元作者:赵广元 书号:978-7-81124-787-9 北京航空航天大学出版社,2020/9/13,3,目 录,第1章 MATLAB 语言概述 第2章 基本语法 第3章 MATLAB 的开发环境和工具 第4章 MATLAB 的其他函数库 第5章 MATLAB的SIMULINK仿真 第6章 MATLAB在自动控制原理中应用,2020/9/13,4,第1章 MATLAB语言概述,1.1 MATLAB语言的发展 1.2 MATLAB语言的特点 1.3 MATLAB的工作环境 1.3.1 命令窗 1.3.2 图形窗
3、1.3.3 文本编辑窗 1.4 演示程序 1.5 网络资源,2020/9/13,5,1.1 MATLAB语言的发展,1.1.1 MATLAB 概述 MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言,是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。它的优点在于快速开发计算方法,而不在于计算速度。 MATLAB已成为一门高校必修的课程,也是最为普遍的计算工具之一。,2020/9/13,6,1.1 MATLAB语言的发展(续),1.1.2 Matlab的发展 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20
4、世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。 1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。,2020/9/13,7,1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。现今的MA
5、TLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。 2000年末又推出6.0版本。无论在界面的设计上还是在内容上较以前版本都有很大的进展。,2020/9/13,8,1.1 MATLAB语言的发展(续),1.1.3 Matlab的版本演化 Matlab 1.0 Pc matlab-matlab 386 Matlab3.5+simulink Matlab 4.0:simlink内嵌(1992) Matlab 5.0 :全面的面向对象 Matlab 5.15.3 (1999) Matlab 6.0 (2000) Matlab
6、 6.5:购并了MATRIXx Matlab 7.0: (2004),2020/9/13,9,1.2 MATLAB语言的特点,友好的工作平台和编程环境 简单易用的程序语言 强大的科学计算及数据处理能力 出色的图形处理功能 应用广泛的模块集和工具箱 实用的程序接口和发布平台 模块化的设计和系统级的仿真,2020/9/13,10,1.3 MATLAB的工作环境,1.3.1 命令窗(Command Window) 单行命令执行方式 执行结果直接显示 1.3.2 图形窗(Figure Window) 用图形方式表示计算结果 1.3.3 文本编辑窗(File Editor) 多行命令组成语言组,可以文件
7、方式存盘,下面就具体看一下MATLAB 的工作环境演示。,2020/9/13,11,1.4 演示程序,在MATLAB的命令窗中键入 demo或demos,%pend.m plot(-0.2,0.2,0;0,color,y,linestyle,-,linewidth,10); g=0.98;l=1; theta0=pi/6;x0=l*sin(theta0); y0=-l*cos(theta0); axis(-0.75,0.75,-1.25,0); axis(off); head=line(x0,y0,color,r,linestyle,.,erasemode,xor,markersize,40)
8、; body=line(0;x0,0,y0,color,b,linestyle,-,erasemode,xor); t=0;dt=0.01; while t=50 t=t+dt; theta=theta0*cos(sqrt(g/l)*t); x=l*sin(theta);y=-l*cos(theta); set(head,xdata,x,ydata,y); set(body,xdata,0;x,ydata,0;y); drawnow; end,2020/9/13,13,部分命令的演示,例1.求 的算术运算结果。 (12+2*(7-4)/32 ans = 2 例2.简单矩阵 的输入步骤。 A =
9、 1,2,3; 4,5,6; 7,8,9 A = 1 2 3 4 5 6 7 8 9,例3. 矩阵的分行输入。 A=1,2,3 4,5,6 7,8,9 A = 1 2 3 4 5 6 7 8 9 例4. 指令的续行输入 S=11/2+1/31/4+1/51/6+1/7 -1/8 S = 0.6345,例5. 复数 表达,及计算 。 (1)z1= 3 + 4i z1 = 3.0000 + 4.0000i (2)z2 = 1 + 2 * i z3=2*exp(i*pi/6) z=z1*z2/z3 z2 = 1.0000 + 2.0000i z3 = 1.7321 + 1.0000i z = 0.3
10、349 + 5.5801i,例6. 复数矩阵的生成及运算 A=1,3;2,4-5,8;6,9*i B=1+5i,2+6i;3+8*i,4+9*i C=A*B A =1.0000 - 5.0000i 3.0000 - 8.0000i 2.0000 - 6.0000i 4.0000 - 9.0000i B = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 8.0000i 4.0000 + 9.0000i C = 1.0e+002 * 0.9900 1.1600 - 0.0900i 1.1600 + 0.0900i 1.3700,例7 . 求上例复数矩阵C的实
11、部、虚部、模和相角。 C_real=real(C) C_imag=imag(C) C_magnitude=abs(C) C_phase=angle(C)*180/pi C_real = 99 116 116 137 C_imag = 0 -9 9 0 C_magnitude = 99.0000 116.3486 116.3486 137.0000 C_phase = 0 -4.4365 4.4365 0,例8. 用MATLAB计算 能得到 2 吗? (1)a=-8; r=a(1/3) r = 1.0000 + 1.7321i (2)全部方根计算如下 m=0,1,2; R=abs(a)(1/3)
12、; Theta=(angle(a)+2*pi*m)/3; rrr=R*exp(i*Theta) rrr = 1.0000 + 1.7321i -2.0000 + 0.0000i 1.0000 - 1.7321i,(3)图形表示 t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t); plot(x,y,b:),grid hold on plot(rrr(1),.,MarkerSize,30,Color,r) plot(rrr(2,3),o,MarkerSize,15,Color,b) axis(-3,3,-3,3),axis square hold off,例9. 画出衰减振
13、荡曲线 及其它的包络线 。t的取值范围是 t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,-r,t,y0,:b,t,-y0,:b),例10.画出 所表示的三维曲面。 的取值范围是-8,8. clear; x=-8:0.5:8; y=x; X=ones(size(y)*x; Y=y*ones(size(x); R=sqrt(X.2+Y.2)+eps; Z=sin(R)./R; mesh(X,Y,Z);colormap(hot) xlabel(x),ylabel(y),zlabel(z),2020/9/13,22,1.5
14、网络资源,USENET新闻组 MATLAB的新闻组是comp.soft-sys.MATLAB。浏览器指向 网络上的工具箱 ,2020/9/13,23,1.5 网络资源(续),BBS 哈尔滨工业大学bbs: telnet:/ 上海交通大学bbs: telnet:/ 清华大学bbs mathtools www服务 Matlab 大观园: http:/www.matlab-,2020/9/13,24,第2章 基本语法,2.1 变量及其赋值 2.2 矩阵的初等运算 2.3 元素群运算 2.4 逻辑判断及流程控制 2.5 基本绘图方法 2.6 M文件及程序调试,2020/9/13,25,2.1 变量及其
15、赋值,2.1.1 标识符与数 标识符是标识变量名、常量名、函数名、文件名的字符串的总称。 1、表示符第1个字符必须是字母。 2、长度不超过31个。 3、区分大小写。 4、变量中不能含有标点符号。 5、变量可直接参与计算。 6、变量一般无需事先定义,2020/9/13,26,2.1.1 标识符与数(续),7、特殊变量,2020/9/13,27,2.1.1 标识符与数(续),8、数值显示格式 MATLAB中所有的量为双字长浮点数,显示按下面显示规则: 在缺省情况下,当结果为整数,作为整数显示;当结果为实数,以小数后4位的精度近似显示。 如果结果中的有效数字超出了这一范围,以科学计数法显示结果。 f
16、ormat命令改变显示格式,常用的的格式有 long (16位) bank(2个十进制位) hex(十六进制) short(缺省) short e(5位加指数) +(符号) long e(16位加指数) rat(有理数近似),2020/9/13,28,2.1.2 矩阵及其元素的赋值,矩阵获取格式:变量=表达式(或数) 1、直接输入:A=1 2 3;4 5 6;7,8,9 *矩阵用中括号括起。 *元素间用空格隔开,或用逗号隔开。 *每行用分号;号表示回车。 2、行向量 B=1 2 3 4 5 3、列向量 C=1;2;3;4;5; 每行命令后面的分号;表示结果不显示。,2020/9/13,29,2.1.2 矩阵及其元素的赋值(续),4、元素可用表达式表示 D=-1.3 sqrt(3) (1+2+3)/5+1 5、用语句生成