自动控制原理课程设计MATLAB及应用.ppt
《自动控制原理课程设计MATLAB及应用.ppt》由会员分享,可在线阅读,更多相关《自动控制原理课程设计MATLAB及应用.ppt(356页珍藏版)》请在三一办公上搜索。
1、2023/8/23,1,MATLAB及在控制系统课程中的应用,主讲:张德祥,2010年12月20日,2023/8/23,2,参考书目,1、Matlab及在电子信息课程中的应用(第二版)陈怀琛 电子工业出版社 2004年1月2、控制系统仿真与计算机辅助设计 薛定宇(东北大学)机械工业出版社 2005年1月3、控制系统数字仿真与CAD(第二版)张晓华(哈尔滨工业大学)机械工业出版社 2006年5月4、控制系统的数字仿真与计算机辅助设计 钱积新等 化学工业出版社 2003年5月5、基于MATLAB的系统分析与设计控制系统 楼顺天等 西安电子科技大学出版社6、MATLAB6.X 教程7、MATLAB与
2、控制系统仿真实践 定价:34 元作者:赵广元 书号:978-7-81124-787-9 北京航空航天大学出版社,2023/8/23,3,目 录,第1章 MATLAB 语言概述第2章 基本语法第3章 MATLAB 的开发环境和工具第4章 MATLAB 的其他函数库第5章 MATLAB的SIMULINK仿真第6章 MATLAB在自动控制原理中应用,2023/8/23,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 网络资源,2023/8
3、/23,5,1.1 MATLAB语言的发展,1.1.1 MATLAB 概述 MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言,是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。它的优点在于快速开发计算方法,而不在于计算速度。MATLAB已成为一门高校必修的课程,也是最为普遍的计算工具之一。,2023/8/23,6,1.1 MATLAB语言的发展(续),1.1.2 Matlab的发展 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler
4、出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。,2023/8/23,7,1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视
5、、更广博的数学和数据分析资源、更多的应用开发工具。2000年末又推出6.0版本。无论在界面的设计上还是在内容上较以前版本都有很大的进展。,2023/8/23,8,1.1 MATLAB语言的发展(续),1.1.3 Matlab的版本演化Matlab 1.0Pc matlab-matlab 386Matlab3.5+simulinkMatlab 4.0:simlink内嵌(1992)Matlab 5.0:全面的面向对象Matlab 5.15.3(1999)Matlab 6.0(2000)Matlab 6.5:购并了MATRIXxMatlab 7.0:(2004),2023/8/23,9,1.2 M
6、ATLAB语言的特点,友好的工作平台和编程环境简单易用的程序语言强大的科学计算及数据处理能力出色的图形处理功能应用广泛的模块集和工具箱实用的程序接口和发布平台模块化的设计和系统级的仿真,2023/8/23,10,1.3 MATLAB的工作环境,1.3.1 命令窗(Command Window)单行命令执行方式 执行结果直接显示1.3.2 图形窗(Figure Window)用图形方式表示计算结果1.3.3 文本编辑窗(File Editor)多行命令组成语言组,可以文件方式存盘,下面就具体看一下MATLAB 的工作环境演示。,2023/8/23,11,1.4 演示程序,在MATLAB的命令窗中
7、键入 demo或demos,%pend.mplot(-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;wh
8、ile 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,2023/8/23,13,部分命令的演示,例1.求 的算术运算结果。(12+2*(7-4)/32 ans=2 例2.简单矩阵 的输入步骤。A=1,2,3;4,5,6;7,8,9 A=1 2 3 4 5 6 7 8 9,例3.矩阵的分行输入。A=1,2,34,5,67,8,9 A=1 2 3 4 5 6 7 8
9、 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*iz3=2*exp(i*pi/6)z=z1*z2/z3 z2=1.0000+2.0000iz3=1.7321+1.0000iz=0.3349+5.5801i,例6.复数矩阵的生成及运算A=1,3;2,4-5,8;6,9*iB=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.0
10、000iB=1.0000+5.0000i 2.0000+6.0000i 3.0000+8.0000i 4.0000+9.0000iC=1.0e+002*0.9900 1.1600-0.0900i 1.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 116 116 137C_imag=0-9 9 0C_magnitude=99.0000 116.3486 116.3486 137.0000C_phas
11、e=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);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:),gridhold onplot(rrr(1),.,MarkerSize,30,Color
12、,r)plot(rrr(2,3),o,MarkerSize,15,Color,b)axis(-3,3,-3,3),axis squarehold 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;m
13、esh(X,Y,Z);colormap(hot)xlabel(x),ylabel(y),zlabel(z),2023/8/23,22,1.5 网络资源,USENET新闻组MATLAB的新闻组是comp.soft-sys.MATLAB。浏览器指向http:/http:/网络上的工具箱http:/,2023/8/23,23,1.5 网络资源(续),BBS哈尔滨工业大学bbs:telnet:/上海交通大学bbs:telnet:/清华大学bbs mathtoolswww服务http:/http:/Matlab 大观园:,2023/8/23,24,第2章 基本语法,2.1 变量及其赋值2.2 矩阵的初等
14、运算2.3 元素群运算2.4 逻辑判断及流程控制2.5 基本绘图方法2.6 M文件及程序调试,2023/8/23,25,2.1 变量及其赋值,2.1.1 标识符与数 标识符是标识变量名、常量名、函数名、文件名的字符串的总称。1、表示符第1个字符必须是字母。2、长度不超过31个。3、区分大小写。4、变量中不能含有标点符号。5、变量可直接参与计算。6、变量一般无需事先定义,2023/8/23,26,2.1.1 标识符与数(续),7、特殊变量,2023/8/23,27,2.1.1 标识符与数(续),8、数值显示格式MATLAB中所有的量为双字长浮点数,显示按下面显示规则:在缺省情况下,当结果为整数,
15、作为整数显示;当结果为实数,以小数后4位的精度近似显示。如果结果中的有效数字超出了这一范围,以科学计数法显示结果。format命令改变显示格式,常用的的格式有long(16位)bank(2个十进制位)hex(十六进制)short(缺省)short e(5位加指数)+(符号)long e(16位加指数)rat(有理数近似),2023/8/23,28,2.1.2 矩阵及其元素的赋值,矩阵获取格式:变量=表达式(或数)1、直接输入:A=1 2 3;4 5 6;7,8,9*矩阵用中括号括起。*元素间用空格隔开,或用逗号隔开。*每行用分号;号表示回车。2、行向量 B=1 2 3 4 53、列向量 C=1
16、;2;3;4;5;每行命令后面的分号;表示结果不显示。,2023/8/23,29,2.1.2 矩阵及其元素的赋值(续),4、元素可用表达式表示 D=-1.3 sqrt(3)(1+2+3)/5+15、用语句生成 行向量 E=from:step:to 即E=开始数:步长:结束数 E=1:2:10 得E=1 3 5 7 96、矩阵连接 B=a b V=a;b,2023/8/23,30,2.1.2 矩阵及其元素的赋值(续),7、用函数创建 如:zeros(m,n)ones(m,n)eye(m,n)zeros(3);zeros(3,3);zeros(2,3);zeros(3,2);ones(3);one
17、s(3,3);ones(2,3);ones(3,2);eye(3);eye(3,3);eye(3,4);eye(4,3);,2023/8/23,31,2.1.2 矩阵及其元素的赋值(续),rand(m,n)%产生均匀分布随机数(0,1)rand(state,0)%把均匀分布伪随机发生器置为0状态randn(m,n)%产生正态分布随机数 magic(m)%产生魔方数组(对高维不适用)%即每行、每列及对角元素之和为(n3+n)/2linspace(a,b,n)%在a和b之间均匀产生n个点的值如:f=linspace(0,1,5)则 f=0 0.25 0.5 0.75 1.0logspace(a,b
18、,n)%在a和b之间对数分布产生n个点的值如:f=logspace(0,1,5)则 f=1.0000 1.7783 3.1623 5.6234 10.0000,2023/8/23,32,2.1.2 矩阵及其元素的赋值(续),矩阵中的元素(用圆括号中数字来注明)1.A(i,j)表示第i 行,第j列元素。2.A(i)表示第i个元素。矩阵中元素的排序如右所示3.A(i,j)=常量,表示给A中元素赋值。当下标超出原矩阵的尺寸,则自动扩展行列并补零。,2023/8/23,33,2.1.2 矩阵及其元素的赋值(续),4.A(:,j)表示A阵中第j 列所有元素。5.A(i,:)表示A阵中第i 行所有元素。6
19、.A(2:3,4:6)表示第2行到第3行,第4列到第6列的子矩阵。7.A(3:7)指A阵中第3个到第7个元素(列优先)矩阵的序号编址:按列计数。8.A(2)=表示去除矩阵中元素。此时矩阵变为行矩阵。9.A(:)指A阵中所有元素组成列向量。,2023/8/23,34,2.1.3 复数,复数的虚部部分用i 或j表示。如:2+3i,3-4j复数可直接计算。如:z=2+3i;3-4j 或 f=z+2+j;3;复数的实部和虚部可分别赋值。但 i和j需先清除。如:clear i j f=1,3;5,7+2,4;6,8*j,2023/8/23,35,2.1.3 复数,B=Z 表示共轭转置。B=conj(Z)
20、表示共轭。如:Z=1+2i,3-4j则:B=Z 有 B=1-2i 3+4j B=conj(Z)有 B=1-2i,3+4j,2023/8/23,36,2.1.3 复数,B=conj(Z)表示转置。B=Z.表示非共轭复数转置。如:Z=1+2i,3-4j则:B=conj(Z)有 B=1+2i 3-4j B=Z.有 B=1+2i 3-4j,2023/8/23,37,2.1.4 变量的查询,存储,提取,变量的查询 who 或 whos变量的存储 save 文件名.mat 变量列表 如:save sar a b c 变量中间用空格隔开,不能加逗号。变量的提取 load 文件名变量的清除 clear 变量列
21、表清除所有变量 clear all,2023/8/23,38,2.1.5 基本赋值矩阵,为了方便给大量元素赋值,MATLAB提供了一些基本矩阵。见书中表2.1如:A=zeros(m,n)全0矩阵B=ones(m,n)全1矩阵C=eye(m,n)单位矩阵D=rand(m,n)01之间随机数均匀分布randn(state,0);%把随机数发生器置0E=randn(m,n)均值为0的,单位方差正态分布随机矩阵 F=magic(m)魔方矩阵,2023/8/23,39,G=linspace(a,b,n)线性分隔,a,b之间均匀产生n个数H=logspace(a,b,n)对数分隔,a,b之间产生n个数K=
22、diag(A);取A中对角线元素得到列向量。P=diag(diag(A)产生对角阵 a=1 2 3 4;b=diag(a)产生对角阵如 A=1 2 3;4 5 6;7 8 9 B=diag(A)则:B=1;5;9;,2023/8/23,40,2.2 矩阵的初等运算,2.2.1 矩阵的加减乘除1、+,-,*,/,2、点乘:.*右除:./左除:.C=A+B;C=A-B C=A*B 注意:矩阵 必须相匹配 X=AB 表示AX=B X=A-1B 即 X=inv(A)*B X=A/B 表示XB=A X=AB-1 即 X=A*inv(B)m,n=size(A)计算矩阵A的行列大小K=length(A)计算
23、矩阵A的行列大小中最大的数,2023/8/23,41,2.2.1 矩阵的加减乘除,点乘、点除C=A.*B 对应元素间相乘。,2023/8/23,42,C=A./B 对应元素间相除。C=A.B,2023/8/23,43,2.2.2 矩阵除法及线性方程组的解,方阵的行列式 B=det(A)即B=|A|方阵的求逆 B=inv(A)即B=A-1 条件|A|0方阵的伪逆矩阵 B=pinv(A)条件|A|=0方阵的伴随矩阵 B=inv(A)*det(A)即B=A-1|A|,2023/8/23,44,2.2.3 矩阵的乘方和幂次函数,1、矩阵乘方2、.元素对元素的乘方C=An 表示A阵自乘n次。C=A(-n
24、)表示A阵的逆矩阵自乘n次。C=A.n 表示A阵中每个元素自乘n次。C=A.(-n)表示A阵中每个元素自乘n次后的逆阵。,如 C=A2C=A.2C=A(-2)=inv(A)2C=A.(-2),2023/8/23,46,2.2.4 矩阵结构形式的提取与变换,B=fliplr(A)%将A矩阵左右翻转 B=flipud(A)%将A矩阵上下翻转 B=reshape(A,m,n)%将A阵重组为mxn矩阵B=rot90(A)%将A矩阵逆时针翻转90度B=diag(A)%提取A矩阵的对角组成列向量B=tril(A)%提取A矩阵的左下三角部分B=triu(A)%提取A矩阵的右上三角部分,如:B=fliplr(
25、A)B=flipud(A)B=rot90(A)B=tril(A),2023/8/23,48,2.3 元素群运算,2.3.1 数组及其赋值1、t=初值:步长:终值;如t=0:0.1:1 tt=10:-1:12、t=linspace(初值,终值,点数)如:tr=linspace(0,2*pi,9)3、t=logspace(初值,终值,点数)如:tp=logspace(0,1,11),2023/8/23,49,2.3.2 元素群的四则运算,表示对矩阵中每个元素进行运算 如 X=1 2 3;Y=4 5 6Z=X.*Y Z=4 10 18Z=X.Y Z=4 2.5 2Z=X.Y Z=1 32 729 Z
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动控制 原理 课程设计 MATLAB 应用
链接地址:https://www.31ppt.com/p-5820473.html