自动控制原理课程设计_matlab及应用
2018/10/14,1,MATLAB及在控制系统课程中的应用,主讲:张德祥 联系电话:13856084212,2010年12月20日,2018/10/14,2,参考书目,1、Matlab及在电子信息课程中的应用(第二版)陈怀琛 电子工业出版社 2004年1月2、控制系统仿真与计算机辅助设计薛定宇(东北大学) 机械工业出版社 2005年1月 3、控制系统数字仿真与CAD (第二版)张晓华(哈尔滨工业大学)机械工业出版社 2006年5月 4、控制系统的数字仿真与计算机辅助设计钱积新等 化学工业出版社 2003年5月 5、基于MATLAB的系统分析与设计控制系统楼顺天等 西安电子科技大学出版社 6、MATLAB6.X 教程 7、MATLAB与控制系统仿真实践 定价:34 元 作者:赵广元 书号:978-7-81124-787-9 北京航空航天大学出版社,2018/10/14,3,目 录,第1章 MATLAB 语言概述 第2章 基本语法 第3章 MATLAB 的开发环境和工具 第4章 MATLAB 的其他函数库 第5章 MATLAB的SIMULINK仿真 第6章 MATLAB在自动控制原理中应用,2018/10/14,4,第1章 MATLAB语言概述,1.1 MATLAB语言的发展 1.2 MATLAB语言的特点 1.3 MATLAB的工作环境1.3.1 命令窗1.3.2 图形窗1.3.3 文本编辑窗 1.4 演示程序 1.5 网络资源,2018/10/14,5,1.1 MATLAB语言的发展,1.1.1 MATLAB 概述MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言,是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。它的优点在于快速开发计算方法,而不在于计算速度。 MATLAB已成为一门高校必修的课程,也是最为普遍的计算工具之一。,2018/10/14,6,1.1 MATLAB语言的发展(续),1.1.2 Matlab的发展MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。 1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。,2018/10/14,7,1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。 2000年末又推出6.0版本。无论在界面的设计上还是在内容上较以前版本都有很大的进展。,2018/10/14,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.5:购并了MATRIXx Matlab 7.0: (2004),2018/10/14,9,1.2 MATLAB语言的特点,友好的工作平台和编程环境 简单易用的程序语言 强大的科学计算及数据处理能力 出色的图形处理功能 应用广泛的模块集和工具箱 实用的程序接口和发布平台 模块化的设计和系统级的仿真,2018/10/14,10,1.3 MATLAB的工作环境,1.3.1 命令窗(Command Window)单行命令执行方式执行结果直接显示 1.3.2 图形窗(Figure Window)用图形方式表示计算结果 1.3.3 文本编辑窗(File Editor)多行命令组成语言组,可以文件方式存盘,下面就具体看一下MATLAB 的工作环境演示。,2018/10/14,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); body=line(0;x0,0,y0,'color','b','linestyle','-','erasemode','xor'); t=0;dt=0.01; while t<=50t=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,2018/10/14,13,部分命令的演示,例1.求 的算术运算结果。 (12+2*(7-4)/32 ans =2 例2.简单矩阵 的输入步骤。 A = 1,2,3; 4,5,6; 7,8,9 A =1 2 34 5 67 8 9,例3. 矩阵的分行输入。 A=1,2,34,5,67,8,9 A =1 2 34 5 67 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.3349 + 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.0000i2.0000 - 6.0000i 4.0000 - 9.0000i B =1.0000 + 5.0000i 2.0000 + 6.0000i3.0000 + 8.0000i 4.0000 + 9.0000i C =1.0e+002 *0.9900 1.1600 - 0.0900i1.1600 + 0.0900i 1.3700,例7 . 求上例复数矩阵C的实部、虚部、模和相角。 C_real=real(C) C_imag=imag(C) C_magnitude=abs(C) C_phase=angle(C)*180/pi C_real = 99 116116 137 C_imag = 0 -99 0 C_magnitude = 99.0000 116.3486116.3486 137.0000 C_phase = 0 -4.43654.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); 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. 画出衰减振荡曲线 及其它的包络线 。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'),2018/10/14,22,1.5 网络资源,USENET新闻组 MATLAB的新闻组是comp.soft-sys.MATLAB。浏览器指向 http:/www.dejanews.com http:/www.google.com 网络上的工具箱 http:/www.mathtools.com/ http:/www.mathworks.com/matlabcentral/fileexchange/loadCategory.do,2018/10/14,23,1.5 网络资源(续),BBS 哈尔滨工业大学bbs: telnet:/bbs.hit.edu.cn 上海交通大学bbs: telnet:/bbs.sjtu.edu.cn 清华大学bbs mathtools www服务 http:/www.mathworks.com http:/matlab.turbo.hit.edu.cn Matlab 大观园:http:/www.matlab-world.com,2018/10/14,24,第2章 基本语法,2.1 变量及其赋值 2.2 矩阵的初等运算 2.3 元素群运算 2.4 逻辑判断及流程控制 2.5 基本绘图方法 2.6 M文件及程序调试,2018/10/14,25,2.1 变量及其赋值,2.1.1 标识符与数标识符是标识变量名、常量名、函数名、文件名的字符串的总称。1、表示符第1个字符必须是字母。2、长度不超过31个。3、区分大小写。4、变量中不能含有标点符号。5、变量可直接参与计算。6、变量一般无需事先定义,