MATLAB程序设计基础与绘.ppt_第1页
MATLAB程序设计基础与绘.ppt_第2页
MATLAB程序设计基础与绘.ppt_第3页
MATLAB程序设计基础与绘.ppt_第4页
MATLAB程序设计基础与绘.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章MATLAB程序设计基础与绘图,2019/11/25,2,第一章Matlab入门,内容提要,2.1二维图形2.2三维图形2.3四维表现图2.4图形处理技术2.5控制语句2.6M文件2.7程序设计的辅助函数,2019/11/25,3,第一章Matlab入门,程序设计基础,程序基本结构顺序结构,循环结构,分支结构顺序结构语句赋值语句:变量名=表达式键盘输入语句:变量名=input(提示信息)屏幕输出语句:disp(字符串),2019/11/25,4,第一章Matlab入门,程序设计基础,循环结构语句for循环,语法格式如下:for循环变量=初值:增量:终值语句组end,2019/11/25,5,第一章Matlab入门,程序设计基础,循环结构语句while循环,语法格式如下:while条件式语句组end在for循环和while循环中,都可以使用break语句来终止循环,2019/11/25,6,第一章Matlab入门,程序设计基础,分支结构语句if语句,语法格式如下:单分支:if条件式语句组end多分枝:if条件式1语句组1elseif条件式2语句组2else语句组(这一句可以不用)end,2019/11/25,7,第一章Matlab入门,程序设计基础,分支结构语句switch语句,语法格式如下:switch表达式,case值1,语句1,case值2,语句2,otherwise语句,end也可分行书写:switch表达式case值1语句1case值2语句2otherwise语句nend,2019/11/25,8,第一章Matlab入门,程序设计基础,其它语句pause语句:暂停,按任意键继续return语句:返回到函数调用处(常用于函数语句体未执行完毕时的强制返回)强行终止程序的执行:Ctrl+C,2019/11/25,9,第一章Matlab入门,程序设计基础,例2.1计算解:用for循环s=0;forn=1:100s=s+1/n2;enddisp(s=,num2str(s),注:这里的n每取一次值就执行一次语句体,所以n是数,而不是数组,“/”和“”运算可以不用“./”和“.”。,2019/11/25,10,第一章Matlab入门,程序设计基础,例2.1计算也可以用while循环:s=0;n=1;whileneg2_2,m=input(请输入:m=);n=1:m;s=sum(1./n.2),2019/11/25,14,第一章Matlab入门,程序设计基础,函数文件函数文件在内容上比命令文件多了一个文件头:function因变量名,=函数名(自变量名,)语句组调用函数文件也是使用文件主名,同时必须给自变量赋予确定的取值,并使用圆括号把自变量括起来函数值由“语句组”中因变量获得的最后结果决定函数名最好与文件主名相同,以方便理解,2019/11/25,15,第一章Matlab入门,程序设计基础,函数文件例2.3:定义函数建立函数文件eg2_3.m,内容如下:,functions=f(m)n=1:m;s=sum(1./n.2);,调用:eg2_3(1000),2019/11/25,16,第一章Matlab入门,程序设计基础,函数文件例:定义一个计算圆锥体积的函数建立函数文件yuanzhui_tiji.m,内容如下:,functionv=yuanzhui_tiji(r,h)v=1/3*pi.*(r.2).*h;,调用:yuanzhui_tiji(5.3,7.6),2019/11/25,17,第一章Matlab入门,程序设计基础,函数文件进一步:定义一个计算圆锥体积和侧面积的函数建立函数文件yuanzhui_tiji_cemianji.m,如下:,functionv,s=f(r,h)v=1/3*pi.*(r.2).*h;s=pi.*r.*sqrt(r.2+h.2);,调用:v,s=yuanzhui_tiji_cemianji(5.3,7.6),说明:调用多值函数时,可以按顺序只取前面的因变量值。,2019/11/25,18,第一章Matlab入门,程序设计基础,内联函数inline(适合在命令窗口定义简单函数)定义方法:函数名=inline(函数表达式,自变量名,.)调用方法:函数名(自变量取值,)匿名函数(7.0以上版本具有此功能)定义方法:函数名=(自变量名,.)函数表达式调用方法:函数名(自变量取值,),只有一个自变量时,可以省略此项不写,2019/11/25,19,第一章Matlab入门,程序设计基础,例2.4编写一个函数文件,对任意输入的向量x,计算如下分段函数值构成的向量。eg2_4aeg2_4b,2019/11/25,20,第一章Matlab入门,绘图,点、线作图命令平面点集或连线plot(x,y,图形特征符)其中,x、y是长度相同的一维数组,它们构成平面点集的横坐标和纵坐标;图形特征符用于指定颜色、点型(标记)和线型(参见P31表2.4)。不指定点型和线型时,默认实连线。当数据点足够密集时,看起来即是“曲线图”举例x=0:0.1:2*pi;y=sin(x);plot(x,y,ro-),可以在作图语句之后使用gridon命令给坐标系增加网格线,使用gridoff去掉网格线。平面图默认gridoff,空间图默认gridon。,2019/11/25,21,第一章Matlab入门,绘图,点、线作图命令多组平面点集或连线的叠加图plot(x1,y1,图形特征符,x2,y2,图形特征符,.)其中,x1、y1是一对长度相同的一维数组,x2、y2也是一对长度相同的一维数组,同一自变量对应多个因变量的叠加图plot(t,y1;y2;)其中,t、y1、y2是长度相同的一维数组注意:y1、y2、之间必须用分号(;)举例,2019/11/25,22,第一章Matlab入门,绘图,点、线作图命令空间点集或连线plot3(x,y,z,图形特征符)其中x、y、z是长度相同的一维数组,它们构成空间点集的坐标举例t=0:0.1:4*pi;x=cos(t);y=sin(t);z=2*t;plot3(x,y,z,r*);gridon,2019/11/25,23,第一章Matlab入门,绘图,一元函数曲线作图命令fplot(一元函数,a,b,图形特征符)绘制一元函数在区间a,b上的图形其中,一元函数可以是:M函数文件名,比如:fplot(sin,0,2*pi,r)函数表达式,比如:fplot(sin(x)+2*x-1,-10,10,:)内联函数名(不加单引号)比如:y=inline(log(x)/exp(x);fplot(y,1,10)注意:在fplot命令中使用图形特征符时,点距是由软件内部决定的,用户不能干预,所以该命令通常不使用“点型”。(举例),2019/11/25,24,第一章Matlab入门,绘图,一元函数曲线作图命令举例例2.5:作出函数y=x3-x-1和y=|x|0.2sin(5x)在区间-1,2的叠加图怎样作叠加图?方法一:使用plot命令一次绘制多组图(需生成点集坐标)方法二:作完一幅图后,使用holdon命令保留该图形,继续作下一幅图,直到使用holdoff命令释放该功能或者关闭图形窗口。eg2_5,2019/11/25,25,第一章Matlab入门,绘图,曲面作图命令预备知识:平面矩形区域上的点坐标设平面区域axb,cyd取x0=a:h1:b,y0=c:h2:d则该矩形区域上的点坐标可用直线组x与直线组y的交点坐标来表示在MATLAB中,可以使用meshgrid命令来生成平面点集的坐标:x,y=meshgrid(x0,y0)其结果中的x和y是同阶矩阵,分别表示矩形区域中的x坐标和对应的y坐标以x0=1,2,3,4;y0=5,6,7为例(演示),2019/11/25,26,第一章Matlab入门,绘图,曲面作图命令mesh(x,y,z):绘制空间网面图surf(x,y,z):绘制空间曲面图其中,x和y是平面点集的坐标(通常使用meshgrid命令来生成),z是对应的函数值坐标,它们是同阶矩阵,表示曲面的三维数据。例2.6:绘制下面的二元函数图形eg2_6a,2019/11/25,27,第一章Matlab入门,绘图,曲面作图命令mesh(x,y,z):绘制空间网面图surf(x,y,z):绘制空间曲面图辅助命令shadingflat%去掉曲面图上的网格线shadinginterp%去掉网格线,并使曲面光滑shadingfaceted%恢复曲面图图形视角的调整:view(方位角,俯仰角)命令或鼠标拖动,2019/11/25,28,第一章Matlab入门,2.2作图,曲面作图命令contour(x,y,z)%绘制等高线图(与mesh用法类似)contour(x,y,z,n)%画n条等高线contour(x,y,z,h1,h2,)%在指定高度画等高线contour(x,y,z,h,h)%在指定的一个高度画等高线c,h=contour(x,y,z)%画等高线,并生成高度标识数据clabel(c,h)%给等高线标注高度值contourf(x,y,z)%另一种等高线图(填充色彩)contour3(x,y,z)%三维等高线图meshc(x,y,z)%在网面图下方投影等高线surfc(x,y,z)%在曲面图下方投影等高线eg2_6b,2019/11/25,29,第一章Matlab入门,绘图,图形说明和定制title(字符串):给图形加标题xlabel(字符串),ylabel(字符串),zlabel(字符串):给坐标轴x、y、z加标志text(x坐标,y坐标,z坐标,字符串):在指定的坐标点给图形加文字说明legend(字符串1,字符串2,.,k):生成图例其中,k的取值可以是-1、0、1、2、3、4,分别决定图例出现的不同位置(例:tuli_legend),2019/11/25,30,第一章Matlab入门,绘图,图形说明和定制axis(a,b,c,d):设定二维坐标系的坐标轴范围axb,cydaxis(a,b,c,d,e,f):设定三维坐标系的坐标轴范围axb,cyd,ezfaxis:获取坐标轴的范围(向量)axisequal:使各坐标轴的单位长度相同axissquare:使图形区域的长宽(高)之比为1:1(:1)axisnormal:恢复图形区域的默认长宽(高)之比,2019/11/25,31,第一章Matlab入门,绘图,图形说明和定制figure/figure(n):打开一个新的图形窗口/或打开一个指定序号的图形窗口close/close(n)/closeall:关闭当前图形窗口/或关闭指定序号的图形窗口/或关闭所有图形窗口clf/clf(n):清除当前图形窗口中的图形/或清除指定序号图形窗口中的图形subplot(m,n,k):将当前图形窗口分为mn个子图,并指向第k幅

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论