《讲程序设计》PPT课件.ppt_第1页
《讲程序设计》PPT课件.ppt_第2页
《讲程序设计》PPT课件.ppt_第3页
《讲程序设计》PPT课件.ppt_第4页
《讲程序设计》PPT课件.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第七讲 程序设计,2019年7月24日星期三,2019/7/24,,2,第七讲 程序设计,7.1 M文件及分类 7.2 M文件的基本流程 7.3 M文件的控制,2019/7/24,,3,7.1 M文件及分类,MATLAB 作为一种高级计算语言,它不仅可以如前几章所介绍的那样,是以一种人机交互式的命令行的方式工作,还可以像C等其它高级计算机语言一样进行控制流的程序设计,即编制一种以M为扩展名的文件,简称为M文件.而且,由于MATLAB本身的一些特点,如语言单、可读性强、调试容易及调用方等。因此mathworks公司又把它称为第四代编程语言。,2019/7/24,,4,7.1 M文件及分类,1.1.M文件的的特点与形式 MATLAB是一种解释性语言,可以对用户发出的命令起解释执行的作用,这样用户就可以把所要实现的指令按顺序组合到一起编成文件,由系统统一执行,这就是M文件。M文件可以分为两种: 命令式(Script),函数式(Function),2019/7/24,,5,7.1 M文件及分类,1.2.命令式文件 由于命令式文件的运行相当于在命令窗口中逐行输入并运行命令,因此,用户在编辑此类文件时,只需把所要执行的命令按行编辑到文件中,且变量不需预先定义。由于此文件相当于逐个执行各命令,因此其中间变量会占用内存,因此在编辑较复杂程序时尽量不用此方法。,2019/7/24,,6,7.1 M文件及分类,1.3.函数式文件 函数文件可以传递参数,其标志是第一行必须以 function 说明函数,其形如: function = () 其它各行为从自变量计算因变量的语句,并最终将计算结果赋予因变量,而这个M文件的文件名必须是.m。,2019/7/24,,7,7.1 M文件及分类,Function mean, stdev=stat(x) % STAT Mean and standard deviation % mean , stdev. % m n=size(x); if m = =1 m = n; end mean=sum(x)/m; stdev=sqrt(sum(x.2)/m-mean2);,2019/7/24,,8,7.1 M文件及分类,函数式文件的编写规则 函数式文件由五部分构成: 1.函数定义行; 2.H1行; 3.函数帮助文本; 4.函数体; 5.注释。,2019/7/24,,9,7.1 M文件及分类,函数式文件中的变量一般是局部变量,它们的变量名独立于目前的工作区和其的函数,即函数的中间变量在函数运行结束时自动消失,不影响工作空间。对于5.0以上的版本,在工作区和函数的定义中可以用global命令把某些变量说明为全局变量。,2019/7/24,,10,7.1 M文件及分类,2019/7/24,,11,7.1 M文件及分类,永久变量 nargin , nargout。 它们可自动给出输入输出变量的个数,利用它可以编写适用性更强的程序,这是其它编程语言所不具有的功能,在MATLAB工具箱中有很多函数都用到了这样的变量。例如:eig , ode45 等。,2019/7/24,,12,7.2 M文件的基本流程,2 控制语句 2.1. 循环语句 MATLAB语言中提供了两种循环方式,for循环和while循环. 2.1.1 for循环 for循环的最大特点是,它的循环判断条件是对循环次数的判断,循环变量是以数组形式表示.,2019/7/24,,13,7.2 M文件的基本流程,其格式为: for =: end 或者: for = end,2019/7/24,,14,7.2 M文件的基本流程,例如: vx7 3 10 5; %定义数组 vy = zeros(size(vx); %生成空数组 k = 0; %初值 for xvx %循环变量为数组 k=k+1; vy(k)=x.2; end disp(vx;vy),2019/7/24,,15,7.2 M文件的基本流程,练习: 请写出如下程序的运行结果 clear; a=1 2 3;2 3 4;4 3 2 for i=a k=i(1); b(:,k)=i.k; end disp(b),2019/7/24,,16,7.2 M文件的基本流程,注意: 1.for 语句可以嵌套使用. 2.循环变量的应取正整数最小值为1. 3. 循环语句结束应用分号“;”,2019/7/24,,17,7.2 M文件的基本流程,1.2 while 循环 while循环也称不定次循环,其每次循环前要判别条件,若条件为真或非零值,则循环,否则结束循环.而条件则是一表达式. 其格式为: while end,2019/7/24,,18,7.2 M文件的基本流程,例如: v=1 2 3 4 0 5 6 0; a=;k=1; while v(k) a=a v(k).3; k=k+1; end disp(a),2019/7/24,,19,7.2 M文件的基本流程,2. 条件语句 if 它可根据逻辑表达式的值选择是否执行某语句, 它可以多层嵌套使用来完成更复杂的设计任务. 最简单用法: if end,2019/7/24,,20,7.2 M文件的基本流程,另一种用法: if else end,2019/7/24,,21,7.2 M文件的基本流程,还可以用如下结构: if elseif elseif else end,2019/7/24,,22,7.2 M文件的基本流程,3. 条件转移(分支)语句 switch 格式为: switch case 取第1个值 case 取第2个值 otherwise end,2019/7/24,,23,7.3 M文件的控制,run filename 运行命令文件f i l e n a m e,f i l e n a m e包括文件的全部路径和文件名。 p a u s e 暂停M文件的运行,按下任意键后继续运行。 p a u s e ( n ) 暂停运行n秒后继续执行。这个暂停命令在显示大量图形时非常有用。,2019/7/24,,24,7.3 M文件的控制,pause off 指示M AT L A B跳过后面的暂停。 pause on 指示M AT L A B遇到暂停时执行暂停命令。 b r e a k 终止f o r和w h i l e循环。如果在一个嵌套循环中使用该命令, r e t u r n 结束M文件运行, M AT L A B立即返回到函数被调用的地方。,2019/7/24,,25,7.3 M文件的控制,k e y b o a r d 将键盘当成一个命令文件来调用。当给出一个内部的M文件,运行将被暂停,这样就可在M AT L A B的命令窗口中给出命令。提示符k 表示这种特殊状态。当执行一个M文件时,这是检查或改变参数变量的一个很好的方法,所有命令都可以在命令窗口中输入。,2019/7/24,,26,7.3 M文件的控制,当输入关键字r e t u r n时, M文件将继续运行。如果在一个函数文件中调用k e y b o a r d,那么该函数的工作区和它的全局变量都可访问。命令k e y b o a r d在调试过程中很有用。,2019/7/24,,27,7.3 M文件的控制,m f i l e n a m e 返回正在运行的M文件名字符串,一个函数能用这个函数获得它自己的名字。 e r r o r ( s t r ) 终止M文件的运行,并在屏幕上显示错误信息和字符串s t r。 w a r n i n g ( m

温馨提示

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

评论

0/150

提交评论