《第2章Matlab编程与作图.ppt》由会员分享,可在线阅读,更多相关《第2章Matlab编程与作图.ppt(15页珍藏版)》请在课桌文档上搜索。
1、第二章,MATLAB编程与作图,一、程序设计 1、控制流,for 循环变量=初值:增量:终值,语句;end while(条件式),语句;endif(条件式),语句;endif(条件式1),语句1;elseif(条件式2),语句 2;else,语句;endswitch(分支变量)case(值1),语句1;case(值2),语句2;otherwise 语句;end,解 s=0;for n=1:100,s=s+1/n/n;end;s、M脚本文件、函数文件 M函数文件以function开头,格式为:function 输出变量=函数名(输入变量)语句;,break(中断循环),return(中断执行返回
2、)pause暂停执行等,、函数句柄和内嵌函数,使用函数句柄(handle)方式调用M函数。命令feval用于执行函数的参数方式。例如fname=eg2_1f;feval(fname,1000),内嵌(inline)函数方式:inline的使用格式为fun=inline(expr,arg1,arg2,.)这里expr为函数表达式字符串,arg1,arg2,.为自变量名字符串。例如 fname=inline(sum(1./(1:n).2),n),5、其它(1)注释:注释用%开头,对本行后面字符起作用,不参与运算。注释符%也常用于程序调试。(2)对话:input在交互式执行程序中用于提示键盘输入,d
3、isp用于屏幕显示。(3)在M函数内,nargin表示该函数的输入变量个数,nargout 输出变量个数。,例2 编写一个脚本文件,使对键盘提示输入的向量求得元素总和。A=input(Enter a vector:);d=sum(A);disp(The sum is,num2str(d);,例3 编写一个M函数,对于任意输入的向量x,可以计算下列分段函数值构成的向量。,二、作图 1、曲线图 plot(x,y)作出以数据(x(i),y(i)为节点的折 线图,其中x,y为同长度的向量 plot(x1,y1,x2,y2,.)作出多组数据折线图 fplot(fun,a,b)作出函数fun在区间a,b
4、上的函数图 plot3(x,y,z)空间曲线图,其中x,y,z为同 长度的向量,例4 作图y=x3-x-1,y=|x|0.2 sin(5x),-1x2解:用fplot,plot均可作图。,、曲面图x,y=meshgrid(xa,ya)当xa、ya为m、n维 行向量,得到x和y均为n行m列矩阵;mesh(x,y,z)绘制网格图,其中x,y,z是同 阶矩阵,表示曲面三维数据;surf(x,y,z)绘制网面图,与mesh用法类似;,contour(x,y,z)绘制等高线图,与mesh用法 类似,可指定z的范围;contour3(x,y,z)绘制三维等高线图,与mesh 用法类似,可指定z的范围。,例
5、5 二元函数图 z=x*exp(-x2-y2)解:xa=-2:0.2:2;ya=xa;x,y=meshgrid(xa,ya);z=x.*exp(-x.2-y.2);mesh(x,y,z),3、图形说明和定制 title(字符串)图形标题说明;xlabel,ylabel,zlabel 用法类似于title,分别说明坐标轴x,y,z;text(x,y,字符串)将字符串表达的文字 标于(x,y)处;lengend(字符串1,字符串2,.)依次说明图例;grid on/grid off 显示/不显示格栅。,hold on/hold off 保留/释放现有图形axis off/on 不显示/显示坐标轴a
6、xis(a,b,c,d)确定坐标轴范围axb,cyd axis(a,b,c,d,e,f)定制3维坐标轴范围 axb,cyd,ezfbox on/off 使用/不使用坐标框figure 开一个新图形窗口close 关闭现有图形窗口subplot(m,n,k)将图形窗口分为m*n个子图 并指向第k幅图,例6 作图,三、在线帮助和文件管理 1、在线帮助 help:显示查询目录 help 子目录名:显示子目录中所有 系统命令及函数,help 命令或函数:显示该命令或函数的说 明部分lookfor 关键词:显示与该关键词有关的 命令和函数type M文件主名:显示指定的M文件内容,which M文件主名:显示指定文件的路径demo 演示MATLAB功能,2文件和目录管理 MATLAB只执行当前目录和搜索路径中的命令和函数 当前目录(Current directory)窗口列出了当前目录的程序和数据文件等 菜单FilesSet pathk可将某一目录增加到MATLAB默认搜索路径(Path)队列,