第2章 MATALAB编程与作图.ppt
《第2章 MATALAB编程与作图.ppt》由会员分享,可在线阅读,更多相关《第2章 MATALAB编程与作图.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、E-mail:Tel:49936260数数 学学 实实 验验MATALABMATALAB编程与作图编程与作图MATALAB控制流控制流MATALAB作图作图M文件文件 2.1 M文件编写初步文件编写初步 本质:就是将一些指令预先在本质:就是将一些指令预先在M文件中编辑好,然后在需要时将文件中编辑好,然后在需要时将M文件调出来执行即可。文件调出来执行即可。M文件的分类:一类为简单的脚本文件的分类:一类为简单的脚本M文件;一类为函数文件;一类为函数M文件。文件。脚本脚本M文件就是就是一文件就是就是一连串常用指令的串常用指令的组合,可在指令窗口中直接合,可在指令窗口中直接 执行。执行。函数函数M文件
2、的开文件的开头一行需要有一个函数名称,然后用小括弧包括一行需要有一个函数名称,然后用小括弧包括需要的需要的输入参数;函数名称前可以有等号,在此等号的左方是它的入参数;函数名称前可以有等号,在此等号的左方是它的输出参数出参数 MATLAB的内部函数是有限的,有时为了研究某的内部函数是有限的,有时为了研究某一个函数的各种性态,需要为一个函数的各种性态,需要为MATLAB定义新函数,定义新函数,为此必须编写函数文件为此必须编写函数文件.函数文件是文件名后缀为函数文件是文件名后缀为M的的文件,这类文件的文件,这类文件的第一行必须是一特殊字符第一行必须是一特殊字符function开始开始,格式为:,格式
3、为: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 定义函数定义函数
4、f(x1,x2)=100(x2-x12)2+(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 f
5、or语句语句 for循环:允许一组命令以固定的和预定的次数循环:允许一组命令以固定的和预定的次数重复重复for 变量变量=array(初始值:增量:终止值)(初始值:增量:终止值)运算指令(运算指令(commands)end 注注1 增量默认值为增量默认值为1,也可自己定义增量值,增,也可自己定义增量值,增量值可小于量值可小于0。当增量值大于零时,程序将在变量。当增量值大于零时,程序将在变量大于终止值时终止;当增量小于零时,程序将在变大于终止值时终止;当增量小于零时,程序将在变量小于终止值时结束。量小于终止值时结束。for n=1:10 x(n)=sin(n*pi/10);endx 单循环语句
6、单循环语句:for n=2:6x(n)=2*x(n-1);endxx(1)=1;s=0;for i=1:100000 s=s+1/2i+1/3i;end s 多重嵌套循环语句多重嵌套循环语句:for m=1:5 for n=1:5 H(m,n)=m+n endendH 1.2 while语句语句 与与forfor循环以固定次数求一组命令相反,循环以固定次数求一组命令相反,whilewhile循环以不循环以不定的次数求一组语句的值定的次数求一组语句的值.whilewhile 表达式(表达式(expressionexpression)循环体循环体commandscommands end end 只
7、要在表达式只要在表达式(expression)(expression)里的所有元素为真,里的所有元素为真,就执行就执行whilewhile和和endend语句之间的命令串语句之间的命令串commandscommands,执行完,执行完成后再判断表达式是否为真,若不是则跳出循环体,向下成后再判断表达式是否为真,若不是则跳出循环体,向下继续执行。继续执行。s=0;i=0;while s=10000 i=i+1;s=s+i;end i 例例2设银行年利率为设银行年利率为11.25%。将。将10000元钱存入银行,问元钱存入银行,问多长时间会连本带利翻一番?多长时间会连本带利翻一番?money=100
8、00;years=0;while money1if x1 f=x2+1 f=x2+1EndEndif x=1if x1if x1 f=x2+1 f=x2+1else if x=0else if x=0 f=x3 f=x3 else else f=2*x f=2*x end endendend 1.3 trycatch结构结构 try语句用来检测程序代码是否会产生错误,一旦错误发生,语句用来检测程序代码是否会产生错误,一旦错误发生,MATALAB会立即跳入到相应的会立即跳入到相应的catch语句中去。语句中去。try statement1%命令块命令块statement1被执行。若正确,被执行。
9、若正确,则跳出此结构。则跳出此结构。catch statement2%当命令块当命令块statement1出现执行错误则出现执行错误则执行命令块则执行命令块则statement2。end 输入矩阵输入矩阵A、B的值,执行上面的程序,当的值,执行上面的程序,当A的列数不等于的列数不等于B的行的行数时,程序就会发现这个错误,并打印消息数时,程序就会发现这个错误,并打印消息 *Error cxd1 A*B。例如:例如:function cxd1(A,B)try X=A*B catch disp*Error cxd1 A*B end E-mail:Tel:49936260数数 学学 建建 模模第六章第
10、六章 作作 图图2.3 MATLAB图形绘制图形绘制 2.3.1 二维曲线图形二维曲线图形 Matlab作图是通过描点、连线来实现的,故在画一个曲线作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给标和纵坐标),然后将该点集的坐标传给Matlab函数画图函数画图.基本命令为:基本命令为:plot(X,Y,S)可以用下面的语句直接绘制出可以用下面的语句直接绘制出多条的曲线多条的曲线:plot(X,Y1,X,Y2,X,Yn)曲线类型曲线类型曲线颜色曲线颜色标记符
11、号标记符号选项选项 意义意义 选项选项 意义意义 选项选项 意义意义-实线实线-虚虚线线:点线点线-.点划点划线线none 无线无线b 蓝色蓝色g 绿色绿色m 红紫红紫色色w 白色白色c 蓝蓝绿色绿色k 黑色黑色r 红色红色y 黄色黄色*星号星号.点号点号x 叉号叉号v o 圆圈圆圈 pentagram 五角星五角星 square diamond hexagram 六角星六角星 参数参数S的各种选项的各种选项 注注1 上表中的选项可以进行组合。例如:若想绘制红色的点划线上表中的选项可以进行组合。例如:若想绘制红色的点划线且每个转折点上用五角星表示,则选相应适用怎样的组合形式?且每个转折点上用五
12、角星表示,则选相应适用怎样的组合形式?r-.pentagram x=-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,YX,Y都为都为向量向量,则分别表示则分别表示点集的横坐标和纵坐标点集的横坐标和纵坐标,例如,例如 plot(X,Y)-plot(X,Y)-画实线,画实线,S S曲线的性质(线性、粗细、颜色等)。曲线的性质(线性、粗细、颜色等)。2、若若X X向量向量,Y,Y为矩阵,则将在为矩阵,则将在同一坐标系下绘制同一坐
13、标系下绘制m m条曲线条曲线,每一行,每一行和和X X的关系将绘制出一条曲线。注意,要求的关系将绘制出一条曲线。注意,要求Y Y矩阵的列数应该等于向矩阵的列数应该等于向量量X X的长度。的长度。例:例:x=0:0.1:2;A=sin(pi*x);0.5+0.5*x;plot(x,A)%2条不同的条不同的 曲线曲线 3、若若X,YX,Y都为都为矩阵矩阵,且假设且假设X X和和Y Y的行、列数相同,则将绘制出的行、列数相同,则将绘制出X X矩矩阵每行和阵每行和Y Y矩阵对应行之间矩阵对应行之间关系关系的曲线。的曲线。例:例:A=1 4 2;0-3 4;0 4 3;B=1 0 0;0 1 0;0 0
14、 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)表示在区间xminxxmax和 yminyymax绘制隐函数f(x,y)=0的函数图例例1 在0,pi上画y=cosx的图形解解 输入命令 ezplot(sin(x),0,pi)解解
15、输入命令 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);y=sin(x);z=cos(x);w=tan(x);subplot(1,3,1);plot(x,y);subplot(1,3,
16、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 以函数
17、以函数xlabel为例为例,其调用格式为其调用格式为: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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 MATALAB编程与作图 MATALAB 编程 作图
限制150内