第2章 MATALAB编程与作图

上传人:ldj****22 文档编号:48836063 上传时间:2018-07-21 格式:PPT 页数:63 大小:960KB
返回 下载 相关 举报
第2章 MATALAB编程与作图_第1页
第1页 / 共63页
第2章 MATALAB编程与作图_第2页
第2页 / 共63页
第2章 MATALAB编程与作图_第3页
第3页 / 共63页
第2章 MATALAB编程与作图_第4页
第4页 / 共63页
第2章 MATALAB编程与作图_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《第2章 MATALAB编程与作图》由会员分享,可在线阅读,更多相关《第2章 MATALAB编程与作图(63页珍藏版)》请在金锄头文库上搜索。

1、 E-mail: Tel:49936260数 学 实 验MATALAB编程与作图MATALAB控制流MATALAB作图M文件2.1 M文件编写初步本质:就是将一些指令预先在M文件中编辑好,然后在需要时将 M文件调出来执行即可。M文件的分类:一类为简单的脚本M文件;一类为函数M文件。脚本M文件就是就是一连连串常用指令的组组合,可在指令窗口中直接执行。 函数M文件的开头头一行需要有一个函数名称,然后用小括弧包括 需要的输输入参数;函数名称前可以有等号,在此等号的左方是它的 输输出参数MATLAB的内部函数是有限的,有时为了研究某 一个函数的各种性态,需要为MATLAB定义新函数, 为此必须编写函数

2、文件. 函数文件是文件名后缀为M的 文件,这类文件的第一行必须是一特殊字符function 开始,格式为:function 因变量名=函数名(自变量名) 函数值的获得必须通过具体的运算实现,并赋给因变 量. 1. 函数M文件 单击单击 MATALAB窗口里的New-Mfile图标图标 输输入代码码:function z=fun(x)z=x(1)*2+x(2)*2-2*x(1)*x(2)+6*x(1)-6*x(2) 单击单击 FileSave,把文件保存在Work文件夹下 在指令窗口中输输入如下指令即可看到运行结结果。fun(2,3)例2 定义函数 f(x1,x2)=100(x2-x12)2+(

3、1-x1)2function f=fun(x) f=100*(x(2)-x(1)2)2+(1-x(1)21.建立M文件:2. 可以直接使用函数fun.m例如:计算 f(1,2), 只需在Matlab命令窗口键 入命令:fun(1 2)2.2 MATALAB程序设计初步MATALAB提供了四种控制程序流结构: for、while循环结构; ifelseend分支结构; switchcase结构; trycatch结构。1. for、while循环结构1.1 for语句for循环:允许一组命令以固定的和预定的次数 重复 for 变量=array(初始值:增量:终止值)运算指令(commands)e

4、nd注1 增量默认值为1,也可自己定义增量值,增 量值可小于0。当增量值大于零时,程序将在变量 大于终止值时终止;当增量小于零时,程序将在变 量小于终止值时结束。for n=1:10x(n)=sin(n*pi/10);end x单循环语句:for n=2:6x(n)=2*x(n-1);end xx(1)=1;s=0;for i=1:100000 s=s+1/2i+1/3i; end s多重嵌套循环语句: for m=1:5for n=1:5H(m,n)=m+nend end H1.2 while语句与for循环以固定次数求一组命令相反,while循环以不 定的次数求一组语句的值.while 表

5、达式(expression)循环体commandsend只要在表达式(expression)里的所有元素为真, 就执行while和end语句之间的命令串commands,执行完 成后再判断表达式是否为真,若不是则跳出循环体,向下 继续执行。s=0;i=0; while s1f=x2+1 Endif x1f=x2+1 else if x=0f=x3elsef=2*xend end1.3 trycatch结构try语句用来检测程序代码是否会产生错误,一旦错误发生, MATALAB会立即跳入到相应的catch语句中去。trystatement1 %命令块statement1被执行。若正确 ,则跳出此

6、结构。catchstatement2 %当命令块statement1出现执行错误则 执行命令块则statement2。end输入矩阵A、B的值,执行上面的程序,当A的列数不等于B的行 数时,程序就会发现这个错误,并打印消息 *Error cxd1 A*B 。例如:function cxd1(A,B)tryX=A*Bcatchdisp*Error cxd1 A*Bend E-mail: Tel:49936260数 学 建 模第六章 作 图2.3 MATLAB图形绘制2.3.1 二维曲线图形Matlab作图是通过描点、连线来实现的,故在画一个曲线 图形之前,必须先取得该图形上的一系列的点的坐标(即

7、横坐 标和纵坐标),然后将该点集的坐标传给Matlab函数画图. 基本命令为: plot(X,Y,S)可以用下面的语句直接绘制出多条的曲线:plot(X,Y1,X,Y2,X,Yn)曲线类型曲线颜色标记符号选项 意义 选项 意义 选项 意义- 实线 - 虚线 : 点线 -. 点划线 none 无线b 蓝色 g 绿色 m 红紫色 w 白色 c 蓝绿色k 黑色 r 红色 y 黄色* 星号 . 点号 x 叉号 v o 圆圈 pentagram五角星 square diamond hexagram 六角星 参数S的各种选项注1 上表中的选项可以进行组合。例如:若想绘制红色的点划线 且每个转折点上用五角星

8、表示,则选相应适用怎样的组合形式?r-.pentagramx=-pi:0.05:pi;y=sin(tan(x)-tan(sin(x)plot(x,y)x=0:0.05:2*pi;y=sin(x);z=cos(x);plot(x,y,b,x,z,r.-)几点说明:1、 若X,Y都为向量,则分别表示点集的横坐标和纵坐标,例如 plot(X,Y)-画实线,S曲线的性质(线性、粗细、颜色等)。2、 若X向量,Y为矩阵,则将在同一坐标系下绘制m条曲线,每一行 和X的关系将绘制出一条曲线。注意,要求Y矩阵的列数应该等于向 量X的长度。例:x=0:0.1:2;A=sin(pi*x);0.5+0.5*x;pl

9、ot(x,A) %2条不同的 曲线3、 若X,Y都为矩阵,且假设X和Y的行、列数相同,则将绘制出X矩 阵每行和Y矩阵对应行之间关系的曲线。 例:A=1 4 2;0 -3 4;0 4 3;B=1 0 0 ;0 1 0;0 0 1;plot(A,B) %对应点的连线符号函数(显函数、隐函数和参数方程)画图 (1) ezplotezplot(x(t),y(t),tmin,tmax) 表示在区间tminttmax绘制参数方程 x=x(t),y=y(t)的函数图ezplot(f(x),a,b) 表示在axb绘制显函数f=f(x)的函数图ezplot(f(x,y),xmin,xmax,ymin,ymax)

10、 表示在区间xminxxmax和 yminyymax绘制隐函数f(x,y)=0的函数图例1 在0,pi上画y=cosx的图形解 输入命令ezplot(sin(x),0,pi)解 输入命令ezplot(cos(t)3,sin(t)3,0,2*pi)解 输入命令 ezplot(exp(x)+sin(x*y)=0,-2,0.5,0,2)2.3.2 图形处理1subplot函数subplot(m,n,p)该命令将当前图形窗口分成mn个绘图 区,即每行n个,共m行,区号按行优先 编号,且选定第p个区为当前活动区。【例】 在一个图形窗口中同时绘制正弦、余弦、正 切曲线x=linspace(0,pi,60)

11、;y=sin(x);z=cos(x);w=tan(x);subplot(1,3,1); plot(x,y); subplot(1,3,2); plot(x,z); subplot(1,3,3); plot(x,w)2. 分隔线控制和图形标注MATALAB的默认状态下是不画分隔线,它的疏密取 决于坐标刻度。调用格式: grid on 画出分隔线grid off 不画分隔线例如:x=1:90;y=sin(x);plot(x,y);grid on3. 图形标注1)坐标轴名label给相应的坐标轴x,y,z加标注,只要调用相应的函数 xlabel,ylabel,zlabel以函数xlabel为例,其调

12、用格式为:xlabel(text)1)“text”为要添加的标注文本2)书写图名title (给图形加标题)其调用格式为:title(text)注:title命令要写到plot命令之后,否则不起作用;特殊字符串是区 分大小的。实例:t=0:0.2:2*pi; plot(t,sin(t),o,t,cos(t),*);xlabel(x),ylabel(y);title(sin(x)和cos(x)曲线)4. 特殊二维图形1)极坐标图其调用格式为:polar(theta,rho,s)例 试用极坐标绘制函数theta=0:0.1:2*pi; rho=5*sin(4*theta/3); polar(the

13、ta,rho,rdiamond)2)散点图(与plot类似,但只有数据点)例 绘制函数y=sinx的散点图x=1:40; y=sin(x); scatter(x,y)其调用格式为:scatter(x,y,c,s)c是指散点的大小3)直方图(显示数据的分布规律)其调用格式为:hist(y)使用10个等距离分布的区间来对向量y的 分布进行统计,并返回每个区间上含有y中元素的个数。Y=randn(15000,2);hist(Y)4)阶梯图形函数stairs(x,y)可以绘制阶梯图形x=-2.5:0.25:2.5;y=exp(-x.*x);stairs(x,y) 5)条形图形函数bar(x,y)可以绘

14、制条形图形,如下 列程序段将绘制条形图形 x=-2.5:0.25:2.5; y=exp(-x.*x); bar(x,y) 6)填充图形fill(x,y,c)函数用来绘制并填充二维多边 图形,x和y为二维多边形顶点坐标向量。字 符 c 规定填充颜色。下述程序段绘制一正方形并以黄色填充:x=0 1 1 0 0; y=0 0 1 1 0; fill(x,y,y)x=0:0.025:2*pi; y=sin(3*x); fill(x,y,k)Matlab系统可用向量表示颜色,通常称其为颜色向量。 基本颜色向量用r g b表示,即RGB颜色组合;以RGB为 基本色,通过 r,g,b在01范围内的不同取值可以组合出各 种颜色。x=0:0.025:2*pi; y=sin(3*x); fill(x,y,0.3 0.4 .6)4)平面等值线图:contour (x,y,z,n) 绘制n个等值线的二维等值线图解: X,Y= meshgrid(-2:0.2:2,-2:0.2:3);Z=X.*exp(-X.2-Y.2);contour(X,Y,Z);2.3.3 三维图形1. 空间曲线2. 空间曲面plot3(x,y,z,s)空 间 曲 线1、 一条曲线n维向量,分别表示曲 线上点集的横坐标、纵 坐标、函数值指定颜色、 线形

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号