MATLAB及在控制系统课程中的应用.ppt

上传人:s****8 文档编号:69347829 上传时间:2023-01-02 格式:PPT 页数:356 大小:1.78MB
返回 下载 相关 举报
MATLAB及在控制系统课程中的应用.ppt_第1页
第1页 / 共356页
MATLAB及在控制系统课程中的应用.ppt_第2页
第2页 / 共356页
点击查看更多>>
资源描述

《MATLAB及在控制系统课程中的应用.ppt》由会员分享,可在线阅读,更多相关《MATLAB及在控制系统课程中的应用.ppt(356页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MATLAB及在控制系统课程中的应用2010年12月20日2023/1/21参考书目参考书目1 1、MatlabMatlab及在电子信息课程中的应用(第二版)及在电子信息课程中的应用(第二版)陈怀琛陈怀琛 电子工业出版社电子工业出版社 2004 2004年年1 1月月2 2、控制系统仿真与计算机辅助设计控制系统仿真与计算机辅助设计 薛定宇(东北大学)机械工业出版社 2005年1月3 3、控制系统数字仿真与控制系统数字仿真与CAD(CAD(第二版第二版)张晓华(哈尔滨工业大学)机械工业出版社 2006年5月4 4、控制系统的数字仿真与计算机辅助设计控制系统的数字仿真与计算机辅助设计 钱积新等 化

2、学工业出版社 2003年5月5、基于基于MATLABMATLAB的系统分析与设计的系统分析与设计控制系统控制系统 楼顺天等 西安电子科技大学出版社6 6、MATLAB6.X MATLAB6.X 教程教程7 7、MATLAB与控制系统仿真实践与控制系统仿真实践 定价:34 元作者:赵广元 书号:978-7-81124-787-9 北京航空航天大学出版社2023/1/22目 录第1章 MATLAB 语言概述第2章 基本语法第3章 MATLAB 的开发环境和工具第4章 MATLAB 的其他函数库第5章 MATLAB的的SIMULINK仿真仿真第6章 MATLAB在自动控制原理中应用2023/1/23

3、第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/1/241.1 MATLAB语言的发展1.1.1 MATLAB 概述 MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言,是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。它的优点在于快速开发计算方法,而不在于计算速度。MATLAB已成为一门高校必修的课程,也是最为普遍的计算工具之一。2023/1/251.1 MATLAB语言

4、的发展(续)1.1.2 Matlab的发展 MATLAB名字由MATMATrix和 LABLABoratory 两词的前三个字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数

5、据图视功能。2023/1/261997年仲春,年仲春,MATLAB5.0版问世,紧接着是版问世,紧接着是5.1、5.2,以及和,以及和1999年春的年春的5.3版。现今的版。现今的MATLAB拥有更丰拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。应用开发工具。2000年末又推出6.0版本。无论在界面的设计上还是在内容上较以前版本都有很大的进展。2023/1/271.1 MATLAB语言的发展(续)1.1.3 Matlab的版本演

6、化1.Matlab1.02.Pcmatlab-matlab3863.Matlab3.5+simulink4.Matlab4.0:simlink内嵌(1992)5.Matlab5.0:全面的面向对象6.Matlab5.15.3(1999)7.Matlab6.0(2000)8.Matlab6.5:购并了MATRIXx9.Matlab7.0:(2004)2023/1/281.2 MATLAB语言的特点友好的工作平台和编程环境简单易用的程序语言强大的科学计算及数据处理能力出色的图形处理功能应用广泛的模块集和工具箱实用的程序接口和发布平台模块化的设计和系统级的仿真2023/1/291.3 MATLAB的

7、工作环境1.3.1 命令窗(Command Window)单行命令执行方式 执行结果直接显示1.3.2 图形窗(Figure Window)用图形方式表示计算结果1.3.3 文本编辑窗(File Editor)多行命令组成语言组,可以文件方式存盘下面就具体看一下MATLAB 的工作环境演示。2023/1/2101.4 演示程序在MATLAB的命令窗中键入 demo或demos2023/1/211%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

8、=-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;whilet=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

9、,0;x,ydata,0;y);drawnow;end2023/1/212部分命令的演示例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 92023/1/213例例3.矩阵的分行输入。矩阵的分行输入。A=1,2,34,5,67,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.63452023/1/214例5.复数表达,及计算。(1)z1=3+4i z1=3.0000+4.00

10、00i (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 2023/1/215例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.0000iB=1.0000+5.0000i 2.0000+6.0000i 3.0000+8.0000i 4.0000+9.0000iC=1.0e+002*0.

11、9900 1.1600-0.0900i 1.1600+0.0900i 1.3700 2023/1/216例7.求上例复数矩阵C的实部、虚部、模和相角。C_real=real(C)C_imag=imag(C)C_magnitude=abs(C)C_phase=angle(C)*180/pi C_real=99116116137C_imag=0-990C_magnitude=99.0000116.3486116.3486137.0000C_phase=0-4.43654.436502023/1/217例8.用MATLAB计算能得到2吗?(1)a=-8;r=a(1/3)r=1.0000+1.7321

12、i(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.7321i2023/1/218(3)图形表示t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t);plot(x,y,b:),gridholdonplot(rrr(1),.,MarkerSize,30,Color,r)plot(rrr(2,3),o,MarkerSize,15,Color,b)axis(-3,3,-3,3),axissq

13、uareholdoff 2023/1/219例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)2023/1/220例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),zlab

14、el(z)2023/1/2211.5 网络资源1.USENET新闻组MATLAB的新闻组是comp.soft-sys.MATLAB。浏览器指向http:/http:/2.网络上的工具箱http:/ 网络资源(续)3.BBS哈尔滨工业大学bbs:telnet:/上海交通大学bbs:telnet:/清华大学bbsmathtools4.www服务http:/http:/Matlab 大观园:http:/www.matlab-2023/1/223第2章 基本语法2.1 变量及其赋值2.2 矩阵的初等运算2.3 元素群运算2.4 逻辑判断及流程控制2.5 基本绘图方法2.6 M文件及程序调试2023/1

15、/2242.1 变量及其赋值2.1.1 标识符与数 标识符是标识变量名、常量名、函数名、文件名的字符串的总称。1、表示符第1个字符必须是字母。2、长度不超过31个。3、区分大小写。4、变量中不能含有标点符号。5、变量可直接参与计算。6、变量一般无需事先定义2023/1/2252.1.1 标识符与数(续)7、特殊变量2023/1/2262.1.1 标识符与数(续)8、数值显示格式MATLAB中所有的量为双字长浮点数,显示按下面显示规则:1.在缺省情况下,当结果为整数,作为整数显示;当结果为实数,以小数后4位的精度近似显示。2.如果结果中的有效数字超出了这一范围,以科学计数法显示结果。3.form

16、at命令改变显示格式,常用的的格式有long(16位)bank(2个十进制位)hex(十六进制)short(缺省)short e(5位加指数)+(符号)long e(16位加指数)rat(有理数近似)2023/1/2272.1.2 矩阵及其元素的赋值矩阵获取格式:变量=表达式(或数)1、直接输入:A=123;456;7,8,9*矩阵用中括号括起。矩阵用中括号括起。*元素间用空格隔开,或用逗号隔开。元素间用空格隔开,或用逗号隔开。*每行用分号;号表示回车。每行用分号;号表示回车。2、行向量B=123453、列向量C=1;2;3;4;5;每行命令后面的分号;表示结果不显示每行命令后面的分号;表示结

17、果不显示。2023/1/2282.1.2 矩阵及其元素的赋值(续)4、元素可用表达式表示 D=-1.3sqrt(3)(1+2+3)/5+15、用语句生成行向量E=from:step:to即E=开始数:步长:结束数E=1:2:10得E=135796、矩阵连接B=abV=a;b2023/1/2292.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);ones(3,3);ones(2,3);ones(3,2);eye(3);eye(3,3);eye

18、(3,4);eye(4,3);2023/1/2302.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=00.250.

19、50.751.0logspace(a,b,n)%在在a和和b之间对数分布产生之间对数分布产生n个点的值个点的值如:如:f=logspace(0,1,5)则则f=1.00001.77833.16235.623410.00002023/1/2312.1.2 矩阵及其元素的赋值(续)矩阵中的元素(用圆括号中数字来注明)1.A(i,j)表示第i行,第j列元素。2.A(i)表示第i个元素。矩阵中元素的排序如右所示矩阵中元素的排序如右所示3.A(i,j)=常量,表示给A中元素赋值。当下标超出原矩阵的尺寸,则自动扩展行列并补零。当下标超出原矩阵的尺寸,则自动扩展行列并补零。2023/1/2322.1.2 矩

20、阵及其元素的赋值(续)4.A(:,j)表示A阵中第j列所有元素。5.A(i,:)表示A阵中第i行所有元素。6.A(2:3,4:6)表示第2行到第3行,第4列到第6列的子矩阵。7.A(3:7)指A阵中第3个到第7个元素(列优先)(列优先)矩阵的序号编址:按列计数。8.A(2)=表示去除矩阵中元素。此时矩阵变为行矩阵。9.A(:)指A阵中所有元素组成列向量。2023/1/2332.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

21、+2,4;6,8*j2023/1/2342.1.3 复数B=Z 表示共轭转置。B=conj(Z)表示共轭。如:Z=1+2i,3-4j则:B=Z 有 B=1-2i 3+4j B=conj(Z)有 B=1-2i,3+4j2023/1/2352.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-4j2023/1/2362.1.4 变量的查询,存储,提取变量的查询 who 或 whos变量的存储 save 文件名.mat 变量列表 如:savesarabc 变量中间用空格隔开,不

22、能加逗号。变量的提取 load 文件名变量的清除 clear 变量列表清除所有变量 clear all2023/1/2372.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/1/238G=linspace(a,b,n)线性分隔,a,b之间均匀产生n个数H=logspace

23、(a,b,n)对数分隔,a,b之间产生n个数K=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/1/2392.2 矩阵的初等运算2.2.1矩阵的加减乘除矩阵的加减乘除1、+,-,*,/,2、点乘:、点乘:.*右除:右除:./左除:左除:.C=A+B;C=A-BC=A*B注意:矩阵注意:矩阵必须相匹配必须相匹配X=AB表示表示AX=BX=A-1B即X=inv(A)*BX=A/B表示表示XB=AX=AB-1即X=A*i

24、nv(B)m,n=size(A)计算矩阵计算矩阵A的行列大小的行列大小K=length(A)计算矩阵计算矩阵A的行列大小中最大的数的行列大小中最大的数2023/1/2402.2.1 矩阵的加减乘除点乘、点除C=A.*B 对应元素间相乘。2023/1/241C=A./B 对应元素间相除。C=A.B2023/1/2422.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/1/2432.2.3 矩阵的乘方和幂次函

25、数1、矩阵乘方矩阵乘方2、.元素对元素的乘方元素对元素的乘方C=An表示A阵自乘n次。C=A(-n)表示A阵的逆矩阵自乘n次。C=A.n表示A阵中每个元素自乘n次。C=A.(-n)表示A阵中每个元素自乘n次后的逆阵。2023/1/244如 C=A2C=A.2C=A(-2)=inv(A)2C=A.(-2)2023/1/2452.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

26、(A)%提取A矩阵的左下三角部分B=triu(A)%提取A矩阵的右上三角部分2023/1/246如:B=fliplr(A)B=flipud(A)B=rot90(A)B=tril(A)2023/1/2472.3 元素群运算2.3.1数组及其赋值1、t=初值:步长:终值;如t=0:0.1:1tt=10:-1:12、t=linspace(初值,终值,点数)如:tr=linspace(0,2*pi,9)3、t=logspace(初值,终值,点数)如:tp=logspace(0,1,11)2023/1/2482.3.2 元素群的四则运算表示对矩阵中每个元素进行运算如如X=123;Y=456Z=X.*YZ

27、=41018Z=X.YZ=42.52Z=X.YZ=132729Z=X.NN=2Z=149Z=2.XYZ=2481632642023/1/2492.3.3 元素群的函数等命令可以直接MATLAB中exp、sprt、sin、cos使用在矩阵上,这种运算只是定义在矩阵的单个元素上,即分别对矩阵的每个元素进行运算。MATLAB中也提供了基本的三角函数。注意其中的取整注意其中的取整函数名函数名含含义义abs绝对值或者复数模sqrt平方根real实部imag虚部conj复数共轭round4舍5入到整数fix舍入到最接近0的整数floor舍入到最接近-的整数ceil舍入到最接近的整数2023/1/2502.

28、3.3 元素群的函数函数名函数名含含义义sign符号函数rem留数sin正弦cos余弦tan正切asin反正弦acos反余弦atan反正切atan2第四象限反正切函数名函数名含含义义sinh双曲正弦cosh双曲余弦tanh双曲正切exp自然指数log自然对数log10以10为底的对数bessel贝赛尔函数gamma伽吗函数rat有理逼近2023/1/2512.4 逻辑判断及流程控制2.4.1 关系操作符MATLAB常用的关系操作符有:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于)。MATLAB的关系操作符可以用来比较两个大小相同的数组,或者比较一个数组和一个标量。在与标量比较时

29、,结果和数组大小一样。a=1:9;b=a4b=000011111c=a(a4)c=567892023/1/2522.4.1 关系操作符矩阵查找和排序子矩阵的查找使用find命令完成,它返回关系表达式为真的下标。例如:a=10:20;find(a15)ans=7891011矩阵的排序使用sort函数,它将矩阵按照升序排列。2023/1/2532.4.2逻辑运算逻辑操作符定义了一种与或非的关系表达式。MATLAB的逻辑操作符有&(与)、|(或)、(非)、xor(异或)。例如:c=(a4)c=111100000c=(a4)&(a7)c=000011000C=xor(A,B)2023/1/2542.4

30、.3其他关系与逻辑函数xor(x,y)异或运算。x或y非零(真)返回1,x和y都是零(假)或都是非零(真)返回0。any(x)如果在一个向量x中,任何元素是非零,返回1;矩阵x中的每一列有非零元素,返回1。all(x)如果在一个向量x中,所有元素非零,返回1;矩阵x中的每一列所有元素非零,返回1。2023/1/255%逻辑函数的运用示例。randn(state,1),R=randn(3,6)%创建正态随机阵L=abs(R)1.5%不等式条件运算,结果给出逻辑数组R(L)=0%逻辑1对应的元素赋0值。s=(find(R=0)%利用find获得符合关系等式条件的元素单下标R(s)=111%利用单下

31、标定位赋值ii,jj=find(R=111);%利用find获得符合关系等式条件的元素双下标disp(ii),disp(jj)2023/1/256【例】关系运算运用之一:求近似极限,修补图形缺口。t=-2*pi:pi/10:2*pi;y=sin(t)./t;subplot(1,2,1),plot(t,y),axis(-7,7,-0.5,1.2),xlabel(t),ylabel(y),title(残缺图形)tt=t+(t=0)*eps;yy=sin(tt)./tt;subplot(1,2,2),plot(tt,yy),axis(-7,7,-0.5,1.2)xlabel(t),ylabel(yy

32、),title(正确图形)Warning:Dividebyzero.2023/1/2572023/1/258【例】逻辑操作应用之一:逐段解析函数的计算和表现。本例演示削顶整流正弦半波的计算和图形绘制。t=linspace(0,3*pi,500);y=sin(t);z1=(t2*pi).*y;w=(tpi/3&t7*pi/3&t8*pi/3);w_n=w;z2=w*sin(pi/3)+w_n.*z1;subplot(1,3,1),plot(t,y,:r),ylabel(y)subplot(1,3,2),plot(t,z1,:r),axis(010-11)subplot(1,3,3),plot(t

33、,z2,-b),axis(010-11)2023/1/2592023/1/260【例】写出生成下图所示波形的MATLAB脚本文件M文件。图中虚线为正弦波,要求它的负半波被置零,且在处被削顶。2023/1/261t=linspace(0,3*pi,500);y=sin(t);z1=(t2*pi).*y;w=(tpi/3&t7*pi/3&t=10y=x2+3;elseifx=0y=x3+4*x;elsey=x5+x;endyx=input(x=);ifx=10y=x2+3;elseifx=0y=x3+4*x;elsey=x5+x;endendy2023/1/2662.4.4 流程控制语句 for循

34、环for循环允许一组命令以固定的次数重复,它的一般形式是for x=array commandendfor 和end之间的命令串按数组array的每一列执行一次,直到n次后终止。如:forj=1:2:10y=j+j.2;end2023/1/2672.4.4 流程控制语句1.for循环不能使用内部重新赋值循环变量而终止;2.for循环内部接受任何有效的MATLAB数组;3.for循环可以嵌套;4.只要有矩阵形式可以解决的问题,不要使用for循环。使用for循环的算法执行很慢,一个好的MATLAB算法不应当出现循环语句。Tic/toc5.循环可以使用break跳出,但只跳出所在的循环,不跳出整个嵌

35、套结构。2023/1/2682.4.4 流程控制语句while循环与for循环以固定的次数求一组指令相反,while循环以不定的次数求一组语句的值。While循环的一般形式为:while expression commondsend只要表达式expression里的所有元素为真,就执行命令串commands。通常表达式求值给一个标量值,单数组值也同样有效。2023/1/269求y=0;forx=1:100y=y+x;endyN=input(N=);y=0;fori=1:Nforj=1:Ny=y+1/(i+j);endendyN=input(N=);y=0;i=1;whilei=Nj=1;whi

36、lej=Ny=y+1/(i+j);j=j+1;endi=i+1;endy2023/1/270【例】Fibonacci数组的元素满足Fibonacci规则:,;且。现要求该数组中第一个大于10000的元素a(1)=1;a(2)=1;i=2;whilea(i)=10000a(i)break;end;Endians=10946i=212023/1/2722.4.4 流程控制语句Switch 语句是一种均衡实现的多分支语句。Switch expressionCase 值1 commands1Case 值2 commands2 Otherwise commandsNend2023/1/273学生的成绩管

37、理,用来演示switch结构的应用。clear;for i=1:10 ai=89+i;bi=79+i;ci=69+i;di=59+i;end;c=d,c;Name=Jack,Marry,Peter,Rose,Tom;Mark=72,83,56,94,100;Rank=cell(1,5);S=struct(Name,Name,Marks,Mark,Rank,Rank);2023/1/274fori=1:5switchS(i).Markscase100S(i).Rank=满分满分;caseaS(i).Rank=优秀优秀;casebS(i).Rank=良好良好;casecS(i).Rank=及格及格

38、;otherwiseS(i).Rank=不及格不及格;endenddisp(学生姓名学生姓名,得分得分,等级等级);disp()fori=1:5;disp(S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank);end;结果:结果:学生姓名得分等级Jack72及格Marry83良好Peter56不及格Rose94优秀Tom100满分2023/1/2752.5 基本绘图方法2.5.1 直角坐标中的两维曲线plot(y)以y的下标作为x坐标,以y值作为y坐标。plot(x,y)数组x和y的长度应匹配。每次绘制将清除以前的图形。202

39、3/1/2762.5.1 直角坐标中的两维曲线图形的标注和图例1、title(text)%给图形加上标题2、xlabel(text)%给X轴加上说明3、ylabel(text)%给Y轴加上说明4、zlabel(text)%给Z轴加上说明5、text(x,y,string)%在图形指定位置加上说明6、gtext(string)%利用鼠标在图形加上说明7、legend(string1,string2,.)%给图形加图例8、legendoff%关闭图例2023/1/277如:作y=sin(t)的二维图形t=linspace(0,3*pi,200);y=sin(t);plot(t,y);title(y

40、=sin(t);xlabel(t/s);ylabel(y=sin(t);text(3,0.4,y=sin(t);legend(y=sin(t);gtext(y=sin(t)2023/1/2782.5.2线型、点型和颜色plot(x,y,r:)后面是颜色和线型标识符颜色标识符线型标识符线型yYellow黄.点S正方形标记mMagenta品红o圆圈D菱形标记cCyan青xX号朝上三角形rRed红+号V朝下三角形gGreen绿-实线朝右三角形bBlue蓝*星号1error(VAL must be a scalar.)end这里,如果变量val 不是一个标量,error 显示消息字符串,把控制权返回给

41、命令命令窗口和键盘。2023/1/2112M函数文件示例。circle.mfunctionsa=circle(r,s)%CIRCLEplotacircleofradiirinthelinespecifiedbys.%r指定半径的数值%s指定线色的字符串%sa圆面积%circle(r)利用蓝实线画半径为r的圆周线.%circle(r,s)利用串s指定的线色画半径为r的圆周线.%sa=circle(r)计算圆面积,并画半径为r的蓝色圆面.%sa=circle(r,s)计算圆面积,并画半径为r的s色圆面.%编写于2006年4月7日,修改于2006年6月27日。2023/1/2113ifnargin2

42、error(输入宗量太多。);end;ifnargin=1s=b;end;clf;t=0:pi/100:2*pi;x=r*exp(i*t);ifnargout=0plot(x,s);elsesa=pi*r*r;fill(real(x),imag(x),s)endaxis(square)2023/1/2114第3章MATLAB的开发环境和工具3.1MATLAB与其它软件的接口关系3.2MATLAB的文件管理系统3.3MATLAB6.x的开发环境2023/1/21153.1MATLAB与其它软件的接口关系3.1.1与磁盘操作系统的接口关系1、变量的存储和下载如:saveaaabc%将内存变量a,b

43、,c内容以文件aa.mat的方式存储在磁盘中。或saveaaabcascii%以ASCII码格式存储2023/1/21163.1.1与磁盘操作系统的接口关系loadaa表示将磁盘上存储的aa.mat数据文件内容取回到工作空间即内存中。此时内存中的变量与存储时的变量相同。此时必须注意,原来内存中不能有与提取文件中的变量相同的变量,否则原来内存中的变量内容将被取代而丢失。2023/1/21173.1.1与磁盘操作系统的接口关系2、工作日志的记录diary命令可以把MATLAB工作过程中的全部屏幕文字和数据以文本方式记录下来,成为一个工作记录。diaryon%默认文件名diary.txtdiaryb

44、bb%文件名为bbb.txtdiaryoff%结束记录2023/1/21183.1.1 与磁盘操作系统的接口关系3、日期和时间命令 t0=clock;%提取年月日时分秒数据并求差值。y=inv(rand(100,100);etime(clock,t0)t=cputime;%以开机时间为基准y=inv(rand(100,100);cputime-ttic;%秒表置零,求经历的时间y=inv(rand(100,100);toc2023/1/21193.1.1 与磁盘操作系统的接口关系4、不退出MATLAB环境运行其他软件 格式:!命令 2023/1/21203.1.2 与文字处理系统WINWORD

45、 的关系利用剪贴板进行交互文字编辑器的使用Notebook软件工具2023/1/21213.1.3 图形文件的转储可以利用图形窗口中 figure copy来粘贴。可以利用图形窗口File菜单中的导出子菜单Export来选择需要存储的图形文件格式。可以利用图形窗口的工具对图形进行一些相关处理。2023/1/21223.1.4低层输入输出函数库主要是实现文件内容的相互交换。具体函数可以参考P55页的表3.3如:X,map=imread(aa.bmp,bmp)就是将图象数据读入X中,颜色读入map中。每条命令的使用可以通过HELP查阅。2023/1/21233.2 MATLAB的文件管理系统MAT

46、LAB 自身的用户文件格式1、程序文件.m2、数据文件.mat3、可执行文件.mex4、仿真模型文件.mdl5、仿真文件.s2023/1/21243.2MATLAB的文件管理系统who(whos)cd(chdir,pwd)dir(ls)typewhatwhichclcedit!echoloadclear/packsavediary2023/1/21253.3 MATLAB 6.X的开发环境这里主要通过MATLAB 6.0的演示来获得开发环境的了解。1、命令窗口 2、历史命令窗口3、资源目录本 4、当前路径浏览器5、工作空间浏览器 6、帮助浏览器7、数组编辑器 8、程序编辑器要掌握最基本的环境使

47、用。2023/1/2126第4章 MATLAB的其他函数库4.1 数据分析函数库datafun4.2 矩阵的分解与变换matfun4.3 多项式函数库polyfun4.4 函数功能和数值积分函数库funfun4.5 字符串函数库strfun4.6 稀疏矩阵函数库sparfun4.7 图形界面函数库guitools4.8 数据类型函数库datatypes 2023/1/21274.1数据分析函数库datafuncorrcoef(x)求相关系数cov(x)协方差矩阵cplxpair(x)把向量分类为复共轭对cross(x,y)向量的向量积cumprod(x)列累计积cumsum(x)列累计和del

48、2(A)五点离散拉氏算子diff(x)计算元素之间差dot(x,y)向量的点积gradient(Z,dx,dy)近似梯度histogram(x)直方图和棒图max(x),max(x,y)最大分量mean(x)均值或列的平均值median(x)列的中值min(x),min(x,y)最小分量prod(x)列元素的积rand(x)均匀分布随机数randn(x)正态分布随机数sort(x)按升序排列std(x)列的标准偏差subspace(A,B)两个子空间之间的夹角sum(x)各列的元素和2023/1/21284.1数据分析函数库datafun4.1.1基本的数据分析1.max%求各列最大值2.mi

49、n%求各列最小值3.mean%求各列平均值4.std%求各列标准差5.median%求各列中间元素6.sum%求各列和7.trapz%梯形法求积分8.diff%求差分9.sort%排序2023/1/2129max(A)=0.95010.82140.92180.9355min(A)=0.23110.01850.17630.4057mean(A)=0.63310.50060.64870.7124std(A)=0.29630.31970.28610.2783median(A)=0.60680.45650.73820.8936sum(A)=3.16542.50323.24373.5620trapz(A

50、)=2.24471.89982.84782.9123diff(A)=-0.7190-0.30560.17650.52980.3757-0.43800.1299-0.0186-0.12090.8029-0.1836-0.50660.4053-0.3767-0.56190.4834sort(A)=0.23110.01850.17630.40570.48600.44470.61540.41030.60680.45650.73820.89360.89130.76210.79190.91690.95010.82140.92180.93552023/1/21304.1 数据分析函数库datafun4.1.

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁