科学计算与matlab 3基础知识_第1页
科学计算与matlab 3基础知识_第2页
科学计算与matlab 3基础知识_第3页
科学计算与matlab 3基础知识_第4页
科学计算与matlab 3基础知识_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、科学计算与科学计算与MATLABMATLAB 第三讲第三讲 基础知识基础知识 (图形、程序设计)(图形、程序设计) 内容提要内容提要 n1 MATLAB1 MATLAB的图形功能的图形功能 二维图形的基本函数二维图形的基本函数 三维图形的基本函数三维图形的基本函数 图形窗口函数图形窗口函数 简单动画函数简单动画函数 n2 MATLAB2 MATLAB的程序设计的程序设计 M M文件介绍文件介绍 MatlabMatlab的程序结构的程序结构 MatlabMatlab的文件操作的文件操作 MatlabMatlab的函数操作的函数操作 n小结小结 MATLAB 提供了非常丰富的图形绘制功能,并且每个

2、提供了非常丰富的图形绘制功能,并且每个 图形元素(如坐标轴、曲线格式、文字等)都可以单独图形元素(如坐标轴、曲线格式、文字等)都可以单独 修改,而不影响图形的其它部分。修改,而不影响图形的其它部分。 绘图函数帮助绘图函数帮助 1. help graph2d可以得到所用画二维图形的命令可以得到所用画二维图形的命令 2. help graph3d可以得到所用画三维图形的命令可以得到所用画三维图形的命令 1.1 二维图形的基本函数二维图形的基本函数 1、MATLAB的图形功能的图形功能 1.1.1 基本二维图形基本二维图形 函数函数1:plot:绘制二维数据图形:绘制二维数据图形 格式:格式: 1.

3、 plot(X,S) 2. plot(X,Y,S) 3. plot(X1,Y1,S1,X2,Y2,S2 ,.,X3,Y3,S3) 说明说明: 参数参数S控制数据点的标记、曲线类型和曲线色彩,三者控制数据点的标记、曲线类型和曲线色彩,三者 置于一对单引号内。置于一对单引号内。 常用的绘图选项常用的绘图选项 选选 项项含含 义义选选 项项含含 义义 -实线实线*用星号标出数据点用星号标出数据点 -虚线虚线.用点号标出数据点用点号标出数据点 :点线点线o用圆圈号标出数据点用圆圈号标出数据点 -.点划线点划线x用叉号标出数据点用叉号标出数据点 b蓝色蓝色+用加号标出数据点用加号标出数据点 g绿色绿色s

4、用正方形标出数据点用正方形标出数据点 r红色红色D用菱形标出数据点用菱形标出数据点 c青色青色V用下三角标出数据点用下三角标出数据点 m洋红洋红 用上三角标出数据点用上三角标出数据点 y黄色黄色用右三角标出数据点用右三角标出数据点 w白色白色H用六角形标出数据点用六角形标出数据点 P用五角形标出数据点用五角形标出数据点 格式:格式: 1. plot(X,S) 说明说明: 1.当当X是实向量时,以该向量元素的下标为横坐标,元素是实向量时,以该向量元素的下标为横坐标,元素 值为纵坐标画出一条连续曲线。值为纵坐标画出一条连续曲线。 2.当当X是实矩阵时,则按列绘制每列元素值相对其下标的是实矩阵时,则

5、按列绘制每列元素值相对其下标的 曲线,曲线条数等于输入参数矩阵的列数。曲线,曲线条数等于输入参数矩阵的列数。 例例 x=0:0.1:2*pi;%length(x)=63 y1=sin(x); y2=cos(x); y=y1,y2; z=y1;y2; figure(1) plot(y1,-r+) figure(2) plot(y) figure(3) plot(z) 格式:格式: plot(X,Y,S) 说明说明: 1.当当X和和Y为向量时,长度必须相同,分别用于存储为向量时,长度必须相同,分别用于存储x坐标坐标 和和y坐标数据。坐标数据。 2.当当X是向量,是向量,Y是有一维与是有一维与X同维

6、的矩阵时,则绘制出同维的矩阵时,则绘制出 多根不同颜色的曲线。曲线条数等于多根不同颜色的曲线。曲线条数等于Y矩阵的另一维数,矩阵的另一维数, X被作为这些曲线共同的横坐标。被作为这些曲线共同的横坐标。 3.当当X和和Y是同维矩阵时,则以是同维矩阵时,则以X,Y对应列元素为横、纵对应列元素为横、纵 坐标分别绘制曲线,曲线条数等于矩阵的列数。坐标分别绘制曲线,曲线条数等于矩阵的列数。 例例x=0:0.1:2*pi; y=sin(x);cos(x); figure(1) plot(x,y(1,:) figure(2) plot(x,y) 格式:格式: plot(X1,Y1,S1,X2,Y2,S2 ,

7、.,X3,Y3,S3) 说明说明: 当输入参数都为向量时,当输入参数都为向量时,X1和和Y1,X2和和Y2,Xn和和 Yn分别组成一组向量对,每一组向量对的长度可以不同。分别组成一组向量对,每一组向量对的长度可以不同。 每一向量对可以绘制出一条曲线,这样可以在同一坐标每一向量对可以绘制出一条曲线,这样可以在同一坐标 内绘制出多条曲线。内绘制出多条曲线。 例例 x=0:0.1:2*pi; y=sin(x);cos(x); plot(x,y(1,:),-r,x(10:60),y(2,10:60),-ko) 函数函数2: fplot:绘制:绘制y=f(x)图形图形 格式:格式: fplot(fnam

8、e,lims, S) 说明说明: 其中其中fname为函数名或单引号界定的函数表达式,为函数名或单引号界定的函数表达式,lims为为 x,y的取值范围,的取值范围,S定义与定义与plot函数相同。函数相同。 例例 fplot(cos(tan(pi*x), 0,1,-ro) 函数函数3: ezplot:绘制隐函数图形:绘制隐函数图形 格式:格式: ezplot(f, xmin,xmax,ymin,ymax) 说明说明: 在区间在区间xminxxmax和和yminyymax绘制绘制f(x,y) = 0的图的图 形。形。,默认区间默认区间-2x2和和-2y2 1 f(x,y)=0 格式:格式: ez

9、plot(X,Y, tmin,tmax) 说明说明: 在区间在区间tmin t tmax绘制绘制x=X(t)和和y=Y(t)的图形的图形,默认区默认区 间间0t2 2 x=X(t) y=Y(t) 格式:格式: ezplot(f, a,b) 说明说明: 在区间在区间axb绘制绘制y= f(x)的图形的图形,默认区间默认区间-2x2 3 y=f(x) 例例 ezplot(x2+y2-9,-3 3 -3 3),axis equal ezplot(8*cos(t),4*sqrt(2)*sin(t),0,2*pi) ezplot(cos(tan(pi*x), 0,1) 2 特殊坐标二维图形特殊坐标二维图

10、形 (1)极坐标曲线)极坐标曲线 格式:格式: polar(theta,rho, S) theta:角度向量角度向量 rho:幅值向量幅值向量 S: 控制参数控制参数 theta=0:0.1:8*pi; r=cos(4*theta)+1/4; polar(theta,r) 例例 (2)对数坐标曲线)对数坐标曲线 x=0:0.01:5; y=10.x; plot(x,y),grid on 函数函数功能功能 semilogxx轴对数坐标,轴对数坐标,y轴线性坐标轴线性坐标 semilogyx轴线性坐标,轴线性坐标,y轴对数坐标轴对数坐标 loglogx y轴均为对数坐标轴均为对数坐标 例例 x=0

11、:0.01:5; y=10 .x; semilogy(x,y) grid on 3应用型绘图指令应用型绘图指令 可用于数值统计分析或离散数据处理可用于数值统计分析或离散数据处理 bax(x,y););hist(y,x););stairs(x,y););stem(x,y) 例:例: x=1:10; y=rand(10,1); subplot(2,2,1) bar(x,y); subplot(2,2,2) hist(y,x); subplot(2,2,3) stairs(x,y); subplot(2,2,4) stem(x,y); 1 图形标注图形标注 函数中的说明文字,除使用标准的函数中的说明

12、文字,除使用标准的ASCII字符外,还可字符外,还可 使用使用LaTeX格式的控制字符,这样就可以在图形上添格式的控制字符,这样就可以在图形上添 加 希 腊 字 母 、 数 学 符 号 及 公 式 等 内 容 。 例 如 ,加 希 腊 字 母 、 数 学 符 号 及 公 式 等 内 容 。 例 如 , text(0.3,0.5, sin(omegat+beta) )将得到标注效果将得到标注效果 sin(t+)。 上述函数除上述函数除legend外,均可以用于三维函数。外,均可以用于三维函数。 主要函数:主要函数: 1. title(图形名称图形名称) 2. xlabel(x轴说明轴说明) 3.

13、 ylabel(y轴说明轴说明) 4. text(x,y,图形说明图形说明) 5. legend(图例图例1,图例图例2,.) 1.1.2 二维图形的控制二维图形的控制 x=0:0.1:2*pi; plot(x,sin(x),x,cos(x) title(正弦和余弦曲线正弦和余弦曲线); xlabel(弧度弧度) ylabel(y) text(3,0.5,sin cos 曲线曲线); legend(sin,cos); 2 坐标控制坐标控制 axis函数函数 主要格式主要格式 axis(xmin xmax ymin ymax zmin zmax) axis equal:纵、横坐标轴采用等长刻度。

14、:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系:产生正方形坐标系(缺省为矩形缺省为矩形)。 axis auto:使用缺省设置。:使用缺省设置。 axis off:取消坐标轴。:取消坐标轴。 axis on:显示坐标轴。:显示坐标轴。 grid on/off:控制是否画网格线。:控制是否画网格线。 box on/off: 控制是否加边框线。控制是否加边框线。 hold on/off 控制是否刷新当前轴及图形控制是否刷新当前轴及图形 t=0:0.1:2*pi; plot(sin(t),cos(t) hold on plot(t/2/pi,sin(t),r) plot(-t/

15、2/pi,sin(t),r) grid on; box on; axis equal hold off 例例 1 三维曲线图三维曲线图 t=-pi:0.1:8*pi; x=sin(t); y=cos(t); plot3(x,y,t,-r) xlabel(sin(t); ylabel(cos(t); zlabel(t) plot3函数函数 格式:格式: Plot3(x1,y1,z1, S1, x2,y2,z2, S2, xn,yn,zn, Sn) 1. 三维图形的基本函数三维图形的基本函数 2 三维网格图三维网格图 meshgrid函数:产生平面区域内的网格坐标矩阵。函数:产生平面区域内的网格坐

16、标矩阵。 格式:格式: X,Y=meshgrid(A,B) 说明:说明: 语句执行后,矩阵语句执行后,矩阵X X的每一行都是向量的每一行都是向量A A,行数等于向量,行数等于向量B B 的元素的个数,矩阵的元素的个数,矩阵Y Y的每一列都是向量的每一列都是向量B B,列数等于向量,列数等于向量 A A的元素的个数。的元素的个数。 mesh函数函数 格式:格式: mesh(x,y,z) 说明:说明: 一般情况下,一般情况下,x,y,zx,y,z是维数相是维数相 同的矩阵。同的矩阵。 x,y=meshgrid(0:0.08:2*pi); z=sin(x).*cos(y); figure(1) me

17、sh(x,y,z) xlabel(x),ylabel(y) zlabel(sin(x)cos(x) grid on,box on figure(2) mesh(z),box on surf函数函数 格式:格式: surf(x,y,z) x,y=meshgrid(0:0.08:2*pi); z=sin(x).*cos(y); surf(x,y,z) zlabel(sin(x)cos(x) grid on box on w=3e-5; lamda=6.328e-7; z=1e5; A=pi*w2; k=2*pi/lamda; a=linspace(-4000,4000,401); x,y=mesh

18、grid(a); r=sqrt(x.2+y.2); m=k*w.*r/z; I=(A/lamda/z)2 * ( 2*bessel(1,m)./m ).2; J=max(max(I); I=I./J; 例例 显示夫琅和费圆孔衍射图样显示夫琅和费圆孔衍射图样 figure(1) surf(x,y,I) xlabel(x),ylabel(y),zlabel(I) shading(interp),colormap(jet),colorbar axis(-4000 4000 -4000 4000 0 1) figure(2) plot(x(1,:),I(201,:) xlabel(x),ylabel(

19、I) axis( -4000 4000 0 1) figure(3) image(x(1,:),y(:,1),255*I) colormap(gray(255) colorbar axis equal xlabel(x),ylabel(y) axis(-4000 4000 -4000 4000) figure(4) image(x(1,:),y(:,1),10000*I) colormap(gray(255) colorbar axis equal xlabel(x),ylabel(y) axis(-4000 4000 -4000 4000) 1.3 图形窗口函数图形窗口函数 在实际应用中,有

20、时需要在不同图形窗口或一个图形窗在实际应用中,有时需要在不同图形窗口或一个图形窗 口中绘制若干个独立的图形,这就需要选取不同的图形口中绘制若干个独立的图形,这就需要选取不同的图形 窗口或对图形窗口分割窗口或对图形窗口分割。 函数函数1:figure 格式:格式:figure(n) 说明:说明: 该函数打开不同的图形窗口。该函数打开不同的图形窗口。 n n为图形窗口排序号。为图形窗口排序号。 默认时打开的是默认时打开的是1 1号图形窗号图形窗, ,即当前窗。即当前窗。 函数函数2:subplot格式:格式:subplot(m,n,p) 说明:说明: 该函数将当前图形窗口分成该函数将当前图形窗口分

21、成mn个绘图区,即每行个绘图区,即每行n个,共个,共m 行。行。 区号按行优先编号,且选定第区号按行优先编号,且选定第p个区为当前活动区。个区为当前活动区。 在每一个绘图区允许以不同的坐标系单独绘制图形。在每一个绘图区允许以不同的坐标系单独绘制图形。 t=linspace(0,2*pi,50); figure(1) plot(t,sin(t) figure(2) plot(t,cos(t) 例例 t=0:0.1:2*pi; subplot(2,2,1) plot(t,sin(t),-r) title(x=sin(t); xlabel(t) ylabel(sin(t) subplot(2,2,2

22、); plot(t,cos(t),-b) title(y=cos(t); xlabel(t) ylabel(cos(t) subplot(2,2,3); X,Y=meshgrid(0:0.1:2*pi); Z=sin(X).*cos(Y); surf(X,Y,Z) zlabel(sin(t)cos(t) title(z=sin(t)*cos(t); subplot(2,2,4) mesh(X,Y,Z) xlabel(sin(t) ylabel(cos(t) zlabel(sin(t)cos(t) title(z=sin(t)*cos(t); 例例 1.4 简单动画函数简单动画函数 质点运动轨迹

23、的显示质点运动轨迹的显示函数:函数:comet 函数函数 格式:格式:comet(x),comet(x,y),comet(x,y,p) 说明:说明: comet(x)显示质点绕向量)显示质点绕向量x运动运动 comet(x,y)显示质点绕向量)显示质点绕向量x与与y运动运动 comet(x,y,p),其中为,其中为p轨迹尾巴的长度轨迹尾巴的长度 函数:以电影播放的方式显示动画函数:以电影播放的方式显示动画 步骤步骤 由由getframegetframe函数将当前的图片抓取为电影的画面,存入矩阵。函数将当前的图片抓取为电影的画面,存入矩阵。 再由再由moviemovie函数将矩阵函数将矩阵 中的

24、画面以动画显示出来。中的画面以动画显示出来。 格式:格式: m(j)=getframe movie(m) 例动画模拟上抛运动例动画模拟上抛运动 vx = 100*cos(1/4*pi); vy = 100*sin(1/4*pi); t = 0:0.001:15; x = vx*t; y = vy*t-9.8*t.2/2; comet(x,y) x y v /4 1 指令驱动模式指令驱动模式 通常通常matlab以指令驱动模式工作,即在以指令驱动模式工作,即在matlab 窗窗 口下当用户输入单行指令时,口下当用户输入单行指令时,matlab 立即处理这条指立即处理这条指 令,并显示结果,这就是

25、令,并显示结果,这就是matlab命令行模式。命令行模式。 命令行模式操作时,命令行模式操作时,matlab窗口只允许一次执行一窗口只允许一次执行一 行上的一个或几个语句。行上的一个或几个语句。 回顾:工作模式回顾:工作模式 2、MATLAB程序设计程序设计 2 m文件模式文件模式 m文件是文件是matlab所特有的使用该语言编写的磁盘文所特有的使用该语言编写的磁盘文 件。件。 将将matlab语句构成的程序存储成以语句构成的程序存储成以m为扩展名的文为扩展名的文 件,然后再执行该程序文件,这种工作模式称为程序文件,然后再执行该程序文件,这种工作模式称为程序文 件模式。件模式。 2.1 M文件

26、文件 m文件的语法类似于文件的语法类似于c语言,但又有其自身特点。语言,但又有其自身特点。 它只是一个简单的它只是一个简单的ASCII码文本文件,执行程序时逐行码文本文件,执行程序时逐行 解释运行程序,解释运行程序,matlab是解释性的编程语言。是解释性的编程语言。 m文件可以使用系统认可的文本文件编辑器来建立文件可以使用系统认可的文本文件编辑器来建立 m文件。如文件。如dos下的下的edit,windows的记事本和的记事本和word等。等。 常用且最为方便的是使用常用且最为方便的是使用MATLAB提供的文本编辑器。提供的文本编辑器。 m文件有两类文件有两类 脚本文件脚本文件(Script

27、 File) : 独立的独立的m文件文件 函数文件函数文件(Function File): 可调用的可调用的m文件文件 m文件的建立文件的建立 命令操作:在命令操作:在MATLAB命令窗口输入命令命令窗口输入命令edit 菜单操作菜单操作 1、脚本文件、脚本文件 脚本文件脚本文件既不接受输入参数也不返回输出参数,脚本文既不接受输入参数也不返回输出参数,脚本文 件实际上是一串指令的集合,与在命令窗口逐行执行文件实际上是一串指令的集合,与在命令窗口逐行执行文 件中的所有指令,其结果是一样的。件中的所有指令,其结果是一样的。 脚本文件包括两部分:注释部分和程序部分脚本文件包括两部分:注释部分和程序部

28、分 %绘制绘制sin(x)*cos(x)图形图形 x=0:0.1:4*pi; y=sin(x).*cos(x); plot(x,y) %注释部分,用以说明函数的作用及注释部分,用以说明函数的作用及 有关内容,使用有关内容,使用help命令时显示。命令时显示。 例:绘制例:绘制sin(x)*cos(x)图形图形 a.m 2 、函数文件、函数文件 函数文件是指能够接受并输出参数的函数文件是指能够接受并输出参数的m文件。文件。 函数文件的格式:函数文件的格式: function 输出形参表输出形参表=函数名(输入形参表)函数名(输入形参表) 注释说明语句段注释说明语句段 程序语句段程序语句段 说明:

29、说明: 函数函数m文件第一行必须以单词文件第一行必须以单词function作为引导词。作为引导词。 函数文件的文件名规则与变量相同,且必须是函数名函数文件的文件名规则与变量相同,且必须是函数名 .m。 当输出形参多于一个时,须用方括号括起来,以矩阵形式表示。当输出形参多于一个时,须用方括号括起来,以矩阵形式表示。 程序中的变量均为局部变量,不保存在工作空间中。其变量只程序中的变量均为局部变量,不保存在工作空间中。其变量只 在函数运行期间有效。在函数运行期间有效。 例例 求圆的周长和面积求圆的周长和面积 function l s=peri_area(r) %计算圆的周长和面积计算圆的周长和面积

30、l=2*pi*r; s=pi*r.2; peri_area.m 2.2 Matlab的程序结构的程序结构 matlab的程序结构与的程序结构与c语言相似,主要有以下三语言相似,主要有以下三 种基本结构种基本结构 I. 顺序结构顺序结构 II. 选择结构选择结构 III.循环结构循环结构 1、顺序结构、顺序结构 (1) 数据的输入数据的输入 input 函数函数 调用格式调用格式 a=input(提示信息提示信息, 选项选项) 说明:说明: 选项用于控制输入数据格式,选项用于控制输入数据格式,ss允许输入字符串。允许输入字符串。 (2) 数据的输出数据的输出 disp disp 函数函数 格式:

31、格式:disp(disp(输出项)输出项) 说明:说明: 输出项可以是输出项可以是变量变量或字符串。或字符串。 输出变量时,不显示变量名。输出变量时,不显示变量名。 (2) 数据的输出数据的输出 sprintf 函数函数 调用格式调用格式 S=sprintf(格式,输出项)格式,输出项) 说明:说明: 输出格式控制同输出格式控制同c语言语言 输出项可以是变量或表达式输出项可以是变量或表达式 x=pi;m=2; sprintf(x1=%f x2=%4.3fnx3=%10.9f, (1+sqrt(5)/2,x,pi) sprintf(%d,round(x) sprintf(%s,hello) S=

32、sprintf(The array is %dx%d.,m,3) ; disp(S) (3) 程序的暂停程序的暂停 pause 函数函数 调用格式:调用格式:pause(延迟秒数延迟秒数) 说明:说明: 如果省略延迟时间,直接使用如果省略延迟时间,直接使用pause,则将暂停程序,直到用户,则将暂停程序,直到用户 按任一键后程序继续执行。按任一键后程序继续执行。 若要强行中止程序的运行可使用若要强行中止程序的运行可使用Ctrl+C命令。命令。 2 选择结构选择结构 (1) if语句语句 a 单分支单分支if语句:语句: 格式格式 if 条件条件 语句组语句组 end b 双分支双分支if语句:

33、语句: 格式格式 if 条件条件 语句组语句组1 else 语句组语句组2 end c 多分支多分支if语句语句 格式格式 if 条件条件1 语句组语句组1 elseif 条件条件2 语句组语句组2 elseif 条件条件m 语句组语句组m else 语句组语句组n end (2) switch语句语句 switch 表达式表达式 case 表达式表达式1 语句组语句组1 case 表达式表达式2 语句组语句组2 case 表达式表达式m 语句组语句组m otherwise 语句组语句组n end 说明:说明: 当表达式的值等于表达式当表达式的值等于表达式1的值时,执行语句组的值时,执行语句组

34、1。 当表达式的值等于表达式当表达式的值等于表达式m的值时,执行语句组的值时,执行语句组m。 当表达式的值不等于当表达式的值不等于case所列的表达式的值时,执所列的表达式的值时,执 行语句组行语句组n。 当任意一个分支的语句执行完后,直接执行当任意一个分支的语句执行完后,直接执行switch 语句的下一句。语句的下一句。 (3) try语句语句 try 语句组语句组1 catch 语句组语句组2 end 说明:说明: try语句先试探性执行语句组语句先试探性执行语句组1,如果语句组,如果语句组1在执在执 行过程中出现错误,则将错误信息赋给保留的行过程中出现错误,则将错误信息赋给保留的last

35、err 变量,并转去执行语句组变量,并转去执行语句组2。 A = 1 , 2 , 3 ; 4 , 5 , 6 ; B=7,8,9;10,11,12; try C=A*B; catch C=A.*B; end C erro=lasterr%显示出错原因显示出错原因 例:例:.m 3 循环结构循环结构 (1) for语句语句 格式格式 for 循环变量循环变量=表达式表达式1:表达式表达式2:表达式表达式3 循环体语句循环体语句 end 说明:说明: 表达式表达式1的值为循环变量的初值,表达式的值为循环变量的初值,表达式2的值为步长,表的值为步长,表 达式达式3的值为循环变量的终值。的值为循环变量

36、的终值。 步长为步长为1时,表达式时,表达式2可以省略。可以省略。 格式格式 for 循环变量循环变量=矩阵表达式矩阵表达式 循环体语句循环体语句 end 说明:说明: 执行过程是依次将矩阵的各列元素赋给循环变量,然后执行执行过程是依次将矩阵的各列元素赋给循环变量,然后执行 循环体语句,直至各列元素处理完毕循环体语句,直至各列元素处理完毕,循环次数为列数。循环次数为列数。 s=0; a=1 2 3;4 5 6; for k=a s=s+k; end disp(s) (2) while语句语句 格式格式 while (条件条件) 循环体语句循环体语句 end 说明:说明:若条件成立,则执行循环体

37、语句,执行后再判断条件是若条件成立,则执行循环体语句,执行后再判断条件是 否成立,如果不成立则跳出循环。否成立,如果不成立则跳出循环。 (3) break和和continue语句语句 break语句:语句: 用于终止循环的执行。当在循环体内执行到该语句时,程用于终止循环的执行。当在循环体内执行到该语句时,程 序将跳出循环,继续执行循环语句的下一语句。序将跳出循环,继续执行循环语句的下一语句。 continue语句:语句: 控制跳过循环体中的某些语句。当在循环体内执行到该语控制跳过循环体中的某些语句。当在循环体内执行到该语 句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。句时,程序将跳过

38、循环体中所有剩下的语句,继续下一次循环。 例:例: 求求100,200之间第一个能被之间第一个能被21整除的整数。整除的整数。 %计算计算100200之间第一个能被之间第一个能被21整除的整数整除的整数 for n=100:200 if rem(n,21)=0 %rem(x,y) :计算计算x./y的余数的余数 continue end break end n 、常用的编程命令、常用的编程命令 pause:停止:停止m文件的执行直至有键按下。文件的执行直至有键按下。pause(n)将将 使程序暂停使程序暂停n秒。秒。 echo on/off:控制是否在屏幕上显示程序内容。:控制是否在屏幕上显示

39、程序内容。 keyboard:停止程序执行,把控制权交给键盘。输入:停止程序执行,把控制权交给键盘。输入 return并回车后继续程序执行。并回车后继续程序执行。 x=input(prompt):把输入的字符串作为提示符,等:把输入的字符串作为提示符,等 待使用者输入一个响应,然后把它赋值到待使用者输入一个响应,然后把它赋值到x。 2.3 Matlab文件操作文件操作 1 文件的打开与关闭文件的打开与关闭 (1) 文件的打开文件的打开 格式格式 fid= fopen(文件名,打开方式文件名,打开方式) 说明:说明: 其中文件名用字符串形式,表示待打开的文件。其中文件名用字符串形式,表示待打开的

40、文件。 常见的打开方式有:常见的打开方式有:r表示对打开的文件读数据;表示对打开的文件读数据;r+表示读写;表示读写;w 删除已经存在的文件内容或建立一个新文件,并打开文件写;删除已经存在的文件内容或建立一个新文件,并打开文件写;w+删删 除已经存在的文件内容或建立一个新文件,读写;除已经存在的文件内容或建立一个新文件,读写;a表示在打开的文表示在打开的文 件末尾添加数据。件末尾添加数据。 fid用于存储文件句柄值,句柄值用来标识该数据文件,其它函数可以用于存储文件句柄值,句柄值用来标识该数据文件,其它函数可以 利用它对该数据文件进行操作。利用它对该数据文件进行操作。 (2)文件的关闭文件的关

41、闭 格式格式 sta=fclose(fid) 说明:说明: 该函数关闭该函数关闭fid所表示的文件。所表示的文件。sta表示关闭文件操作表示关闭文件操作 的返回代码,若关闭成功,返回的返回代码,若关闭成功,返回0,否则返回,否则返回1。 2 文件的读写操作文件的读写操作 (1)二进制文件的读写操作二进制文件的读写操作 说明:说明: A用于存放读取的数据。用于存放读取的数据。 COUNT返回所读取的数据元素个数返回所读取的数据元素个数 fid为文件句柄为文件句柄 precision代表读写数据的类型:代表读写数据的类型:int float char等等 size为可选项,若不选用则读取整个文件内

42、容,若选用则它的值可以是下列为可选项,若不选用则读取整个文件内容,若选用则它的值可以是下列 值:值: (1) N表示读取表示读取 N个元素到一个列向量。个元素到一个列向量。 (2) M,N表示读数据到表示读数据到MN的矩阵中,数据按列存放。的矩阵中,数据按列存放。 文件数据格式有两种形式,一是二进制文件,文件数据格式有两种形式,一是二进制文件, 二是文本文件。对不同类型的文件读写是不同的。二是文本文件。对不同类型的文件读写是不同的。 读二进制文件读二进制文件 格式格式 A,COUNT=fread(fid,size, precision) (1)二进制文件的读写操作二进制文件的读写操作 说明:说

43、明: COUNT返回所写的数据元素个数。返回所写的数据元素个数。 fid为文件句柄。为文件句柄。 A用来存放写入文件的数据,用来存放写入文件的数据, precision用于控制所写数据的类型,其形式与用于控制所写数据的类型,其形式与fread函数相同。函数相同。 写二进制文件写二进制文件 格式格式 COUNT=fwrite (fid, A, precision) (2)文本文件的读写操作文本文件的读写操作 说明:说明: 1. A用以存放读取的数据。用以存放读取的数据。 2. COUNT返回所读取的数据元素个数。返回所读取的数据元素个数。fid为文件句柄。为文件句柄。 3. format用以控制

44、读取的数据格式,由用以控制读取的数据格式,由%加上格式符组成,常见的格式加上格式符组成,常见的格式 符有符有%d,%f,%e,%c,%s等。等。 4. size为可选项,决定矩阵为可选项,决定矩阵A中数据的排列形式。中数据的排列形式。 读文本文件读文本文件 格式格式 A,COUNT= fscanf (fid, format, size) 说明:说明: 1. A存放要写入文件的数据。存放要写入文件的数据。 2. 先按先按format指定的格式将数据矩阵指定的格式将数据矩阵A格式化,然后写入到格式化,然后写入到fid所指定所指定 的文件。格式符与的文件。格式符与fscanf函数相同。函数相同。 写

45、文本文件写文本文件 格式格式 COUNT= fprintf(fid, format, A) 例例: : 文件的操作文件的操作 clear x=0:0.1:2*pi; fid=fopen(example.mat,wb+) count=fwrite(fid,x,float) fclose(fid) fid1=fopen(example.mat,rb+) t=fread(fid1,float); y=t,sin(t); plot(t,y(:,2) fwrite(fid1,y,float) fclose(fid1) save example.dat y -ASCII exa45.m 2.4 Matla

46、b的函数操作的函数操作 1 函数的调用函数的调用 说明:说明: 函数调用时各实参出现的顺序、个数,应与函数定义时形函数调用时各实参出现的顺序、个数,应与函数定义时形 参的顺序、个数一致,否则会出错。参的顺序、个数一致,否则会出错。 函数调用时,先将实参传递给相应的形参,从而实现参数函数调用时,先将实参传递给相应的形参,从而实现参数 传递,然后再执行函数的功能。传递,然后再执行函数的功能。 格式格式 输出实参表输出实参表=函数名函数名( (输入实参表输入实参表) ) 例:利用函数文件,实现直角坐标例:利用函数文件,实现直角坐标(x,y)与极坐标与极坐标(,)之间的之间的 转换。转换。 %定义函数

47、文件定义函数文件tran.m: function rho,theta=tran(x,y) rho=sqrt(x*x+y*y); theta=atan(y/x); %调用调用tran.m的命令文件的命令文件exam406.m x=input(Please input x=:); y=input(Please input y=:); rho,the=tran(x,y); rho the 2 函数参数的可调性函数参数的可调性 说明:说明: 在调用函数时,用在调用函数时,用nargin和和nargout分别记录调用该函数时分别记录调用该函数时 的输入实参和输出实参的个数。的输入实参和输出实参的个数。 只要在自定义函数文件中包含这两个函数,就可

温馨提示

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

评论

0/150

提交评论