1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版
2、标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,建模培训(pixn)matlab使用,第一页,共119页。,MATLAB介绍(jisho),MATLAB意为“矩阵实验室”,源自 Matrix Laboratory,它是一种科学计算软件。,matlab语言是由 的Clever Moler博士于1980年。开发的设计者的初衷是为解决“线性代数”课程的矩阵运算问题。,目前MATLAB已经成为国际上最流行的软件之一,除了可提供传统的交互式的编程方法之外,还能提供丰富可靠的矩阵运算、图形绘制、数据处理、图像处理和Windows编程工具等。因而出现了各种以MATLAB为基础的工具箱
3、,应用于自动控制、图像信号处理、生物医学工程、语音处理、信号分析、时序分析与建模、优化设计等广泛的领域,表现出了一般高级语言难以(nny)比拟的优势。,Mathwork软件公司推出的Matlab软件就是为了给人们提供一个方便的数值计算平台而设计的。,第二页,共119页。,它将一个优秀软件的易用性与可靠性、通用性与专业性、一般目的的应用与高深的科学技术应用有机的相结合。,MATLAB是一种直译式的高级语言,比其它程序设计语言容易(rngy)。,MATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理、声音处理于一身,并提供了丰富的Windows图形界面设计方法。,第三页,共119页。
4、,MATLAB在 已经作为大学工科学生必修(bxi)的计,算机语言之一(C,FORTRAN,ASSEMBLER,MATLAB)。,近年来,MATLAB语言已在我国推广使用,现在,已应用于各学科研究部门和许多高等院校。,第四页,共119页。,许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发(kif)还远远没有结束,各学科的相互促进,将使得MATLAB更加强大,第五页,共119页。,丰富(fngf)的MATLAB工具箱,MATLAB主工具箱,符号数学工具箱,SIMULINK仿真工具箱,控制系统工具箱,信号处理(xn ho ch l)工具箱,图象处理工具箱
5、,通讯工具箱,系统辨识工具箱,神经元网络工具箱,金融工具箱,第六页,共119页。,在使用(shyng)中Matlab的优点有如下几点:,1.易学,编程方便,快捷.,2.丰富的数学函数使得数值问题的求解(qi ji)变得很容易。,在使用(shyng)中Matlab的缺点在于:,运行速度,尤其是图形的处理速度较为缓慢。,第七页,共119页。,1、试绘制参数(cnsh)方程 的三维曲线(m1),2、试绘制(huzh)出二元函数(m2),3、给定(i dn)函数 ,试给出,(m3),演示:,第八页,共119页。,1 进入(jnr)与运行方式,1、窗口(chungku)与界面,2、运行方式,1)命令行方
6、式,2)M文件方式,二、基本操作,第九页,共119页。,启动MATLAB后,将进入MATLAB 集成环境。MATLAB 集成环境包括MATLAB主窗口、命令(mng lng)窗口(Command Window)、工作空间窗口(Workspace)、命令(mng lng)窗口(Command History)、当前目录窗口(Current Directory)。,第十页,共119页。,当MATLAB安装完毕并首次启动时,展现在屏幕上的界面(jimin)为MATLAB的默认界面(jimin),如右图所示。,第十一页,共119页。,1、变量(binling),1)变量(binling)的命名:,1
7、变量(binling)的名字必须以字母开头。,2 之后可以是任意字母、数字或下划线(),变量(binling)中不能包含有标点符号。,3 变量(binling)名称区分字母的大小写,如time,TIME,Time。,2、变量(binling)与函数,第十二页,共119页。,eps 计算机浮点运算误差限,在 pc机上,,若某个(mu)量的绝对值小于eps,则可以认为这个量为0。,pi 圆周率的近似值3.1415926,inf或Inf 表示正无大,定义为1/0,NaN 不定数,不定式。它产生于0,0/0,/等运算,i,j 虚数单位,ans 对于未赋值运算结果,自动赋给ans,2)特殊(tsh)变量
8、,第十三页,共119页。,2 常用的数学运算符,*(乘),.*(点乘),/(左除),./(点除),(右除),(幂),注:,在运算式中,MATLAB通常不需要考虑空格;,多条命令(mng lng)可以放在一行中,它们之间需要用分号隔开;,逗号告诉MATLAB显示结果,而分号则禁止结果显示。,第十四页,共119页。,3数字的输出格式,MATLAB的输出格式可由format命令控制,但要注意的是format命令只是影响在屏幕上的显示,而MATLAB的数据(shj)存储和运算总是以双精度进行的。,Format short:5位定点格式,如 1.4142,Format long:15位定点格式,如,Fo
9、rmat short e :5位浮点,如1.4142e+000,Format long e :15位浮点,如,Format hex :十六进制数,如3ff6a09e667f3bcd,Format rat :分数之比,如1393/985,Format+:若为正数则显示+,若为负数则显示-,若为0则显示空,第十五页,共119页。,4 MATLAB的工作空间命令,1、MATLAB的工作空间包含了一组可以在命令窗口中调整(调用)的参数,who:显示当前工作空间中所有变量的一个简单列表,whos:则列出变量的大小(dxio)、数据格式等详细信息,clear:清除工作空间中所有的变量,clear 变量名:
10、清除指定的变量,clc:清除命令窗口的内容,2、退出工作空间,quit 或 exit,help命令,在命令窗口中显示,第十六页,共119页。,名称,含义,名称,含义,sin,正弦,log10,10,为底的对数,cos,余弦,log,自然对数,tan,正切,min,最小值,cot,余切,max,最大值,asin,反正弦,mean,平均值,acos,反余弦,fix,向,0,取整,atan,反正切,rem,求余数,exp,e,为底的指数,sqrt,平方根,log2,2,为底的对数,abs,绝对值,5、常用数学(shxu)函数,第十七页,共119页。,6 M文件,1)M文件概述,用MATLAB语言编写
11、的程序,称为M文件。M文件可以根据调用方式的不同分为两类:命令文件(Script File)(或脚本(jiobn)文件)和函数文件(Function File)。,第十八页,共119页。,2)M文件的建立与打开,M文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用MATLAB提供的文本编辑器。,1)建立新的M文件,为建立新的M文件,启动MATLAB文本编辑器有3种方法:,(1)菜单操作。从MATLAB主窗口的File菜单中选择New菜单项,再选择M-file命令,屏幕上将出现(chxin)MATLAB 文本编辑器窗口。,(2)命令操作。在MATLAB命令窗口输入
12、命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。,(3)命令按钮操作。单击MATLAB主窗口工具栏上的New M-File命令按钮,启动MATLAB文本编辑器后,输入M文件的内容并存盘。,第十九页,共119页。,3)打开已有的M文件,打开已有的M文件,也有3种方法:,(1)菜单操作。从MATLAB主窗口的File菜单中选择Open命令,则屏幕出现Open对话框,在Open对话框中选中所需打开的M文件。在文档窗口可以对打开的M文件进行(jnxng)编辑修改,编辑完成后,将M文件存盘。,(2)命令操作。在MATLAB命令窗口输入命令:edit 文件名,则打开指定的M文件。,(3
13、)命令按钮操作。单击MATLAB主窗口工具栏上的Open File命令按钮,再从弹出的对话框中选择所需打开的M文件。,第二十页,共119页。,7 函数文件,1)函数文件的基本结构,函数文件由function语句引导(yndo),其基本结构为:,function 输出形参表=函数名(输入形参表),注释说明部分,函数体语句,其中以function开头的一行为引导(yndo)行,表示该M文件,是一个函数文件。函数名的命名规则与变量名相同。,输入形参为函数的输入参数,输出形参为函数的输,出参数。当输出形参多于一个时,则应该用方括号,括起来。,第二十一页,共119页。,2)函数调用,函数调用的一般格式是
14、:,输出实参表=函数名(输入实参表),要注意的是,函数调用时各实参出现的,定义时形参的顺序、个数一致,否则会出,错。函数调用时,先将实参传递(chund)给相应的形,参,从而实现参数传递(chund),然后再执行函数的,功能。,第二十二页,共119页。,例 编写函数文件求半径为r的圆的面积和周长。,函数文件如下:(fcircle.m),function s,p=fcircle(r),%CIRCLE calculate the area and perimeter of a circle of radii r,%r 圆半径,%s 圆面积,%p 圆周长,s=pi*r*r;,p=2*pi*r;,窗口
15、(chungku)调用:,s,p=fcircle(6),第二十三页,共119页。,程序(chngx)2:,例:,计算 f(1),首先建立一个(y)M函数:,function Y=fun1(x),Y=(x3-2*x2+x-6.3)/(x2+0.05*x-3.14);,在指令窗口运行以下指令:,Z=fun1(1),第二十四页,共119页。,1,、,x=a,b,c,d,e,f,或,x=a b c d e f,2,、,x=first:last,3,、,x=first:increment:last,4,、,linspace(first,last,n),三 数组与矩阵(j zhn)运算,1、数组的建立(j
16、inl),例:,x=1 2 3 4 5 8 7 18,y=1:7,z=3:2:9,u=linspace(2,9,11),第二十五页,共119页。,空阵 matlab允许输入空阵,当一项操作 无结果时,返回(fnhu)空阵。,rand 随机矩阵,eye 单位矩阵,eye(N)生成N*N的单位阵,eye(M,N)生成M*N的单位阵。,zeros 全部元素都为0的矩阵,zeros(N)生成N*N的全零阵,zeros(M,N)生成M*N的全零阵。,ones 全部元素都为1的矩阵,ones(N)生成N*N的全一阵,ones(M,N)生成M*N的全一阵。,2、特殊(tsh)矩阵的生成,第二十六页,共119
17、页。,例:a=,b=zeros(4,5),c=ones(4,5),d=eye(4,5),e=eye(4,4),第二十七页,共119页。,3矩阵(j zhn)的几种基本变换操作,1.通过在矩阵变量后加的方法来表示转置(zhun zh)运算:,a=10,2,12;34,2,4;98,34,6;,a,2.矩阵(j zhn)求逆:,inv(a),3.,矩阵的特征值,:,norm(a),4.,矩阵的范数,:,norm(a,1),norm(a,inf),u,v=eig(a),5.,矩阵的行列式,:,det(a),第二十八页,共119页。,一、二维绘图(hu t),第七十四页,共119页。,解:Matlab
18、命令(mng lng)(m34),diff(f,v,n):以v为自变量,对符号表达式f求n,第九十三页,共119页。,注意,运算是在矩阵意义下进行的,单个数据(shj)的算术运算只是一种特例。,程序如下:(m4),y=dsolve(D2y+2*Dy+2*y=0,y(0)=1,Dy(0)=0),plot(x,y)基本格式,以y(x)的函数关系(gun x)作出直角坐标图。,t和y分别给出时间向量和相应的状态向量。,例:求函数 的二阶导数(do sh)(m9),%其中 x(1)=a;x(2)=b;,第七十一页,共119页。,6*cos(x)+0.,t=18,20,22,25,30,28,24;15
19、,19,24,28,34,32,30;,第六十四页,共119页。,4 MATLAB运算 1)基本算术运算 MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。注意,运算是在矩阵意义下进行的,单个数据(shj)的算术运算只是一种特例。,第二十九页,共119页。,(1)矩阵加减运算 假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同(xin tn),则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同(xin tn),则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。,(2)矩阵乘
20、法 假定有两个矩阵A和B,若A为mn矩阵,B为np矩阵,则C=A*B为mp矩阵。,第三十页,共119页。,(3)矩阵除法 在MATLAB中,有两种矩阵除法运算:和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。AB等效于A的逆左乘B矩阵,也就是(jish)inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是(jish)B*inv(A)。对于含有标量的运算,两种除法运算的结果相同,如3/4和43有相同的值,都等于0.75。,第三十一页,共119页。,(4)矩阵的乘方 一个矩阵的乘方运算可以表示成Ax,要求A为方阵(fn zhn),x为标量。2点运算 在MATL
21、AB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.和.。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。,第三十二页,共119页。,a=1,2,3;4,5,6;7,8,9,b=-1,0,1;1,-1,0;0,1,1,c=a.*b,a=,1 2 3,4 5 6,7 8 9,b=,-1 0 1,1 -1 0,0 1 1,c=,-1 0 3,4 -5 0,0 8 9,x=1,2,3;4,5,6,y=-2,1,3;-1,1,4,z1=x./y,z2=y.x,x=,1 2 3,4 5 6,y=,-2 1 3,-1 1 4,z1
22、=,-0.5 2 1,-4 5 1.5,z2=,-0.5 2 1,-4 5 1.5,第三十三页,共119页。,例,:,当 时,求,的值,.,X=0.1:0.3:1;,Y=sin(x).*cos(x),命令(mng lng):,第三十四页,共119页。,一、二维绘图(hu t),1)plot 最基本的二维图形指令,plot的功能:,plot命令自动打开一个图形窗口Figure,用直线(zhxin)连接相邻两数据点来绘制图形,根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y 轴用对数坐标表示,四 matlab 语言的绘图(hu t)功能,第三十五页
23、,共119页。,如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形,可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图,可任意设定曲线颜色和线型,可给图形加坐标(zubio)网线和图形加注功能,第三十六页,共119页。,plot的调用(dioyng)格式,plot(x,y)基本格式,以y(x)的函数关系(gun x)作出直角坐标图。,plot(x1,y1,x2,y2,xn,yn)多条曲线绘图格式。,plot(x,y,s)字符串s设定曲线颜色和绘图方式,使用颜色字符串的前13个字母,如 yellowyel表示等。,或plot(x1,y1,s1,x2,y2,
24、s2,),第三十七页,共119页。,S的标准(biozhn)设定值如下:,字母 颜色 标点 线型,y 黄色(hungs)点线,m 粉红 圈线,c 亮蓝 线,r 大红 字线,g 绿色 实线,b 蓝色 星形线,w 白色 :虚线,k 黑色 (-)点划线,第三十八页,共119页。,x=0:0.001:10;%0到10的1000个点的x座标,y=sin(x);%对应(duyng)的y座标,plot(x,y);%绘图,1.单窗口单曲线(qxin)绘图,第三十九页,共119页。,2.单窗口(chungku)多曲线绘图(m11),例:,t=0:pi/100:2*pi;,y=sin(t);y1=sin(t+0.
25、25);y2=sin(t+0.5);,plot(t,y,t,y1,t,y2),y,y1,y2,第四十页,共119页。,3.单窗口(chungku)多曲线分图绘图,subplot 子图分割命令,调用(dioyng)格式:,subplot(m,n,p),行,列,绘图(hu t)序号,该函数将当前图形窗口分成,mn,个绘图区,即每行,n,个,共,m,行,区号按行优先编号,且选定第,p,个区为当前活动区,,按从左至右,从上至下排列,。在每一个绘图区允许以不同的坐标系单独绘制图形。,第四十一页,共119页。,例 分别以条形图、阶梯图、杆图和填充图形式绘制(huzh)曲线,y=2sin(x)。,程序如下:
26、(m12),x=0:pi/10:2*pi;,y=2*sin(x);,subplot(2,2,1);,bar(x,y,g);,subplot(2,2,2);,stairs(x,y,b);,subplot(2,2,3);,stem(x,y,k);,subplot(2,2,4);,fill(x,y,y);,第四十二页,共119页。,4.图形(txng)加注功能,将标题、坐标轴标记、网格线及文字注,释加注到图形上,这些函数为:,1)有关图形标注函数的调用格式为:,title(图形名称(mngchng),xlabel(x轴说明),ylabel(y轴说明),text(x,y,图形说明),legend(图例
27、1,图例2,),第四十三页,共119页。,例 在0 x2区间内,绘制曲线y1=2e-0.5x和y2=cos(4x),并,给图形添加图形标注。,程序如下(m14),x=0:pi/100:2*pi;,y1=2*exp(-0.5*x);,y2=cos(4*pi*x);,plot(x,y1,x,y2),title(x from 0,to,2pi);%加图形标题,xlabel(Variable X);%加X轴说明,ylabel(Variable Y);%加Y轴说明,text(0.8,1.5,曲线y1=2e-0.5x);%在指定(zhdng)位置添加图形说,明,text(2.5,1.1,曲线y2=cos(
28、4pix);,legend(y1,y2)%加图例,第四十四页,共119页。,2)坐标控制,axis函数的调用(dioyng)格式为:,axis(xmin xmax ymin ymax zmin zmax),axis函数功能丰富,常用的格式还有:,axis equal:纵、横坐标轴采用等长刻度。,axis square:产生正方形坐标系(缺省为矩形)。,axis auto:使用缺省设置。,axis off:取消坐标轴。,axis on:显示坐标轴。,第四十五页,共119页。,给坐标加网格线用grid命令来控制(kngzh)。,grid on/off命令控制(kngzh)是画还是不画网格线,不带,
29、参数的grid命令在两种状态之间进行切换。,给坐标加边框用box命令来控制(kngzh)。,box on/off命令控制(kngzh)是加还是不加边框线,,不带参数的box命令在两种状态之间进行切,换。,图形保持用hold命令来控制(kngzh)。,hold on/off命令控制(kngzh)是保持原有图形还是刷新原,有图形,不带参数的hold命令在两种状态之间进,行切换。,第四十六页,共119页。,例:(m15)t=0:0.1:10,y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-);,x=1.7*pi;1.6*pi;,y=-0.3;0.8;,s=sin(t);
30、cos(t);,text(x,y,s);,title(正弦和余弦曲线(qxin);,legend(正弦,余弦),xlabel(时间t),ylabel(正弦、余弦),grid on,axis square,第四十七页,共119页。,例 采用图形(txng)保持,在同一坐标内绘制曲线,y1=0.2e-0.5xcos(4x)和y2=2e-0.5xcos(x)。,程序如下(m16):,x=0:pi/100:2*pi;,y1=0.2*exp(-0.5*x).*cos(4*pi*x);,plot(x,y1),hold on,y2=2*exp(-0.5*x).*cos(pi*x);,plot(x,y2);,
31、hold off,第四十八页,共119页。,5.ezplot(f)符号函数(显函数、隐函数和参数方程(fngchng))的简易绘图函数,MATLAB提供了一个ezplot函数绘制(huzh)隐函数图形,,下面介绍其用法。,(1)对于函数,ezplot函数的调用格式为:,ezplot(f):在默认区间-2x2和-2y2绘制(huzh)f(x,y)=0的图形。,ezplot(f,xmin,xmax,ymin,ymax):在区间xminxxmax和yminyymax绘制(huzh)f(x,y)=0的图形。,ezplot(f,a,b):在区间axb和ay b绘制(huzh)f(x,y)=0的图形。,第
32、四十九页,共119页。,(2)对于参数方程x=x(t)和y=y(t),ezplot函数的调用格式为:,ezplot(x,y):在默认(mrn)区间0t2绘制x=x(t)和y=y(t)的图形。,ezplot(x,y,tmin,tmax):在区间tmin t tmax绘制x=x(t)和y=y(t)的图形。,第五十页,共119页。,subplot(2,2,1);,ezplot(x2+y2-9);axis equal,;,subplot(2,2,2);,ezplot(x3+y3-5*x*y+1/5),subplot(2,2,3);,ezplot(cos(tan(pi*x),0,1),subplot(2
33、,2,4);,ezplot(8*cos(t),4*sqrt(2)*sin(t),0,2*pi),例 隐函数绘图(hu t)应用举例。(m17),第五十一页,共119页。,6 polar函数用来绘制极坐标图,其调用格式为:,polar(theta,rho,选项),其中theta为极坐标极角,rho为极坐标矢径,选项,的内容与plot函数相似(xin s)。,例 绘制r=sin(t)cos(t)的极坐标图,并标记数据点。,程序如下:(m19),t=0:pi/50:2*pi;,r=sin(t).*cos(t);,polar(t,r,-*);,第五十二页,共119页。,7特殊(tsh)二维绘图函数,b
34、ar 绘制(huzh)直方图,stairs 绘制(huzh)阶梯图,stem 绘制(huzh)火柴杆图,comet 绘制(huzh)彗星曲线,errorbar 绘制(huzh)误差棒图,area 区域图,pie 饼图,scatter 离散点图,第五十三页,共119页。,二维统计分析图,在MATLAB中,二维统计分析图形很多,常见(chn jin)的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:,bar(x,y,选项),stairs(x,y,选项),stem(x,y,选项),fill(x1,y1,选项1,x2,y2,选项2,),第五十四页,共119页。,例:分别以条形图、阶梯(jit)图
35、、杆图和填充图形式绘制曲线y=2sin(x)。程序如下:(m20),x=0:pi/10:2*pi;y=2*sin(x);,subplot(2,2,1);,bar(x,y,g);title(bar(x,y,g);axis(0,7,-2,2);,subplot(2,2,2);,stairs(x,y,b);title(stairs(x,y,b);axis(0,7,-2,2);,subplot(2,2,3);,stem(x,y,k);title(stem(x,y,k);axis(0,7,-2,2);,subplot(2,2,4);,fill(x,y,y);title(fill(x,y,y);axis(
36、0,7,-2,2);,第五十五页,共119页。,MATLAB提供的统计分析绘图函数还有很多,,例如,用来表示各元素占总和的百分比的饼图、,例 绘制图形:,(1)某企业全年各季度(jd)的产值(单位:万元)分别为:2347,1827,2043,3025,试用饼图作统计分析。,程序(chngx)如下:(m21),pie(2347,1827,2043,3025);,title(饼图);,legend(一季度,二季度,三季度,四季度);,第五十六页,共119页。,二、三维绘图(hu t),三维绘图的主要功能:,绘制三维线图,绘制等高线图,绘制伪彩色图,绘制三维网线图,绘制三维曲面图、柱面图和球面图,绘
37、制三维多面体并填充(tinchng)颜色,第五十七页,共119页。,(一)三维线图,plot3 基本的三维图形指令,plot3函数与plot函数用法十分相似,其调用格,式为:,plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,xn,yn,zn,选项n),其中(qzhng)每一组x,y,z组成一组曲线的坐标参数,选,项的定义和plot函数相同。,第五十八页,共119页。,二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴,大小,axis(xmin xmax ymin ymax zmin zmax),grid on(off)绘制三维网格(wn),text(x,y,z,strin
38、g)三维图形标注,子图和多窗口也可以用到三维图形中,第五十九页,共119页。,t=0:pi/100:20*pi;,x=sin(t);,y=cos(t);,z=t.*sin(t).*cos(t);,plot3(x,y,z);,title(Line in 3-D Space);,xlabel(X);ylabel(Y);zlabel(Z);,grid on;,例:绘制(huzh)三维曲线(m22),第六十页,共119页。,例:绘制(huzh)三维线图,t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),r:)(m23),第六十一页,共119页。,三维曲面,1产生三维数据,在M
39、ATLAB中,利用meshgrid函数产生平面(pngmin)区域内的网格坐标矩阵。其格式为:,x=a:d1:b;y=c:d2:d;,1.X,Y=meshgrid(x,y);,2.X,Y=meshgrid(x);,meshgrid的作用是产生一个以向量x为行、向量y为列的矩阵。,第六十二页,共119页。,x=2 3 4;,y=3 4 5;,X,Y=meshgrid(x,y);,例:,第六十三页,共119页。,绘制三维曲面的函数,surf函数和mesh函数的调用格式为:,mesh(x,y,z,c),surf(x,y,z,c),一般情况下,x,y,z是维数相同的矩阵。,x,y是网格坐标矩阵,z是网
40、格点上的,高度矩阵,c用于指定(zhdng)在不同高度下的,颜色范围,第六十四页,共119页。,例 绘制(huzh)三维曲面图z=sin(x+sin(y)-x/10。,程序如下:(m25),x,y=meshgrid(0:0.25:4*pi);,z=sin(x+sin(y)-x/10;,mesh(x,y,z);,axis(0 4*pi 0 4*pi-2.5 1);,第六十五页,共119页。,注:meshc是带等高线的三维网格曲面函数,meshz带底座(dzu)的三维网格曲面函数。,其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高,线,meshz还在xy平面上绘制曲面
41、的底座(dzu)。,第六十六页,共119页。,例 在xy平面内选择区域-8,8-8,8,绘制4种三,维曲面图。程序(chngx)如下:(m26),x,y=meshgrid(-8:0.5:8);,z=sin(sqrt(x.2+y.2)./sqrt(x.2+y.2+eps);,subplot(2,2,1);,title();mesh(x,y,z);title(mesh(x,y,z),subplot(2,2,2);,meshc(x,y,z);title(meshc(x,y,z),subplot(2,2,3);,meshz(x,y,z);title(meshz(x,y,z),subplot(2,2,4
42、);,surf(x,y,z);title(surf(x,y,z),第六十七页,共119页。,其他三维图形,在介绍二维图形时,曾提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数(hnsh)分别是bar3、stem3、pie3 和fill3。,bar3函数(hnsh)绘制三维条形图,常用格式为:,bar3(y),bar3(x,y),第六十八页,共119页。,stem3函数(hnsh)绘制离散序列数据的三维杆图,常用格式为:,stem3(z),stem3(x,y,z),pie3函数(hnsh)绘制三维饼图,常用格式为:,pie3(x),fill3函数(hnsh)等效于三
43、维函数(hnsh)fill,可在三维空,间内绘制出填充过的多边形,常用格式为:,fill3(x,y,z,c),第六十九页,共119页。,符号运算符,功能,函数名,=,等于,eq,=,不等于,ne,大于,gt,=,大于等于,ge,&,逻辑与,and,|,逻辑或,or,逻辑非,not,1)关系(gun x)、逻辑关系(gun x)运算,五、Matlab程序设计(chn x sh j),第七十页,共119页。,2)数据的输入、输出(shch),1数据的输入,从键盘输入数据,则可以使用input函数来进,行,该函数的调用格式为:,A=input(提示信息,选项);,其中提示信息为一个字符串,用于提示用
44、户,输入什么样的数据。,第七十一页,共119页。,如果在input函数调用时采用(ciyng)s选项,则允许用户输入一个字符串。例如,想输入一个人的姓名,可采用(ciyng)命令:,xm=input(Whats your name?,s);,2数据的输出,MATLAB提供的命令窗口输出函数主要有,disp函数,其调用格式为:,disp(输出项),其中(qzhng)输出项既可以为字符串,也可以为矩,阵。,第七十二页,共119页。,例 输入x,y的值,并将它们的值互换后输出(shch)。,程序如下:(m4),x=input(Input x please:);,y=input(Input y ple
45、ase:);,z=x;,x=y;,y=z;,disp(x);,disp(y);,第七十三页,共119页。,3)选择结构,1if语句,在MATLAB中,if语句有3种格式(g shi)。,(1)单分支if语句:,if 条件,语句组,end,当条件成立时,则执行语句组,执行完之后继,续执行if语句的后继语句,若条件不成立,则,直接执行if语句的后继语句。,第七十四页,共119页。,(2)双分支(fnzh)if语句:,if 条件,语句组1,else,语句组2,end,当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。,第七十五页,共119页。,例 计算
46、分段函数,的值。(m5),程序(chngx)如下:,x=input(请输入x的值:);,if x=0,y=(x+sqrt(pi)/exp(2);,else,y=log(x+sqrt(1+x*x)/2;,end,y,第七十六页,共119页。,(3)多分支if语句:,if 条件1,语句组1,elseif 条件2,语句组2,elseif 条件m,语句组m,else,语句组n,end,语句用于实现(shxin)多分支选择结构。,第七十七页,共119页。,例:学生的成绩管理,用来演示if-else-end分支结构的应用。,%划分(hu fn)区域:满分(100),优秀(90-99),良好(80-89),
47、,及格(60-79),不及格(=90&N=80&N=60&N80,S=及格;%列为及格等级(dngj),else,S=不及格;%列为不及格等级(dngj),end,disp(S),第七十八页,共119页。,2switch语句,switch语句根据(gnj)表达式的取值不同,分别执行不同的语句,其语句格式为:,switch 表达式,case 表达式1,语句组1,case 表达式2,语句组2,case 表达式m,语句组m,otherwise,语句组n,end,当表达式的值等于某个case语,句后的条件时,程序将转移到,该语句中执行当任意一个(y)分支,的语句执行完后,直接执行,switch语句的下
48、一句。,第七十九页,共119页。,程序如下:,result=input(请输入分数(fnsh);,n=fix(result/10);,switch n,case 9,10,disp(优秀);,case 8,disp(良好);,case 6,7,disp(及格);,otherwise,disp(不及格);,end,第八十页,共119页。,2)循环结构,1for语句,for语句的格式为:,for 循环变量=表达式1:表达式2:表达式3,循环体语句,end,其中表达式1的值为循环变量的初值,表达式2的值为,步长,表达式3的值为循环变量的终值。步长为1时,,表达式2可以(ky)省略。,第八十一页,共1
49、19页。,2while语句,while语句的一般格式(g shi)为:,while 条件,循环体语句,end,其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。,第八十二页,共119页。,例:用while循环求1100间整数的和,程序(chngx)如下:(m9),sum=0;,i=1;,while i syms x,f=2*x2+3*x-5;g=x2+x-7;,h=f+g,ans=,h=3*x2+4*x-12,例,2,:,f=cos(x);g=sin(2*x);,syms x,f=cos(x);g=sin(2*x);,f/g+f*g,ans=,cos(
50、x)/sin(x)+cos(x)*sin(x),第八十七页,共119页。,2符号表达式的因式分解与展开,MATLAB提供了符号表达式的因式分解,与展开的函数,函数的调用格式(g shi)为:,factor(f):对符号表达式s分解因式。,expand(f):对符号表达式s进行展开。,collect(f):对符号表达式s合并同类项。,collect(f,v):对符号表达式s按变量v合并,同类项。,第八十八页,共119页。,例:分解(fnji),syms x;,y=x3+3*x2-13*x-15;,factor(y),ans=(x+5)*(x-3)*(x+1),例:展开(zhn ki),syms