《matalab编程与作》ppt课件

上传人:tia****nde 文档编号:69330242 上传时间:2019-01-13 格式:PPT 页数:63 大小:1.08MB
返回 下载 相关 举报
《matalab编程与作》ppt课件_第1页
第1页 / 共63页
《matalab编程与作》ppt课件_第2页
第2页 / 共63页
《matalab编程与作》ppt课件_第3页
第3页 / 共63页
《matalab编程与作》ppt课件_第4页
第4页 / 共63页
《matalab编程与作》ppt课件_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《《matalab编程与作》ppt课件》由会员分享,可在线阅读,更多相关《《matalab编程与作》ppt课件(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+(1-x

3、1)2,function f=fun(x) f=100*(x(2)-x(1)2)2+(1-x(1)2,1.建立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(初始值:增量:终止值) 运算指令(comm

4、ands) end,注1 增量默认值为1,也可自己定义增量值,增量值可小于0。当增量值大于零时,程序将在变量大于终止值时终止;当增量小于零时,程序将在变量小于终止值时结束。,for n=1:10,x(n)=sin(n*pi/10);,end x,单循环语句:,for n=2:6,x(n)=2*x(n-1);,end x,x(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 end end H,1.2 while语句,与for循环以固定次数求一组命令相反,while循环以

5、不定的次数求一组语句的值. while 表达式(expression) 循环体commands end 只要在表达式(expression)里的所有元素为真,就执行while和end语句之间的命令串commands,执行完成后再判断表达式是否为真,若不是则跳出循环体,向下继续执行。,s=0; i=0; while s=10000 i=i+1; s=s+i; end i,例2设银行年利率为11.25%。将10000元钱存入银行,问多长时间会连本带利翻一番?,money=10000;,years=0;,while money20000,years=years+1;,money=money*(1+1

6、1.25/100);,end years,1.3 ifelseend分支结构,1)有一个选择的一般形式是: if 逻辑表达式(expression) 执行语句commands end 如果在表达式(expression)里的所有元素为真,就执 行if和end语句之间的命令串commands.,先建立M文件f.m定义函数f(x),再在Matlab命令窗口输入f(2),f(-1)即可。,function f=f(x) if x1 f=x2+1 End if x=1 f=2*x end,2) 有多个选择的一般形式是: if 逻辑表达式 执行语句1 else if 逻辑表达式 执行语句2 else i

7、f 逻辑表达式 执行语句3 else if else 执行语句 end end,function f=fun2(x) if x1 f=x2+1 else if x=0 f=x3 else f=2*x end end,1.3 trycatch结构,try语句用来检测程序代码是否会产生错误,一旦错误发生,MATALAB会立即跳入到相应的catch语句中去。,try statement1 %命令块statement1被执行。若正确,则跳出此结构。 catch statement2 %当命令块statement1出现执行错误则执行命令块则statement2。 end,输入矩阵A、B的值,执行上面的程

8、序,当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,数 学 建 模,第六章 作 图,2.3 MATLAB图形绘制,2.3.1 二维曲线图形,Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.,基本命令为: plot(X,Y,S),可以用下面的语句直接绘制出多条的曲线

9、: plot(X,Y1,X,Y2,X,Yn),参数S的各种选项,注1 上表中的选项可以进行组合。例如:若想绘制红色的点划线且每个转折点上用五角星表示,则选相应适用怎样的组合形式?,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,Y都为向量,则分别表示点集的横坐标和纵坐标,例如 plot(X,Y)-画实线,S曲线的性质(线性、粗细、颜色等)。,2、 若X向量,Y为矩阵,则将在同一坐标系下绘

10、制m条曲线,每一行和X的关系将绘制出一条曲线。注意,要求Y矩阵的列数应该等于向量X的长度。,例:x=0:0.1:2; A=sin(pi*x);0.5+0.5*x; plot(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) ezplot,ezplot(x(t),y(t),tmin,tmax) 表示在区间tminttmax绘制参数方程 x

11、=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),解 输入命令 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)

12、 该命令将当前图形窗口分成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,2); plot(x,z); subplot(1,3,3); plot(x,w),2. 分隔线控制和图形标注,MATALAB的默认状态下是不画分隔线,它的疏密取决于坐标刻度。,调用格式: grid on 画出分隔线 grid off 不画分隔线,例如:x=1:9

13、0; y=sin(x); plot(x,y); grid on,3. 图形标注,1)坐标轴名label,给相应的坐标轴x,y,z加标注,只要调用相应的函数 xlabel,ylabel,zlabel,以函数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); t

14、itle(sin(x)和cos(x)曲线),4. 特殊二维图形,1)极坐标图,其调用格式为:polar(theta,rho,s),例 试用极坐标绘制函数,theta=0:0.1:2*pi; rho=5*sin(4*theta/3); polar(theta,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的分布进行统

15、计,并返回每个区间上含有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)可以绘制条形图形,如下列程序段将绘制条形图形 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,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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