第五讲 MATLAB程序设计ppt课件_第1页
第五讲 MATLAB程序设计ppt课件_第2页
第五讲 MATLAB程序设计ppt课件_第3页
第五讲 MATLAB程序设计ppt课件_第4页
第五讲 MATLAB程序设计ppt课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、第五讲 MATLAB程序设计,1,MATLAB程序设计 一、M文件 二、程序控制结构 三、程序调试,第五讲 MATLAB程序设计,2,1 MATLAB的工作模式,指令驱动模式 通常matlab以指令驱动模式工作,即在matlab 窗口下当用户输入单行指令时,matlab 立即处理这条指令,并显示结果,也就是matlab命令行方式。 命令行操作时,matlab窗口只允许一次执行一行上的一个或几个语句。,一、M文件,第五讲 MATLAB程序设计,3, M文件模式 将matlab语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。 程序文件不能在命令窗口下建立

2、,因为命令窗口只允许一次执行一行上的一个或几个语句。,第五讲 MATLAB程序设计,4,用MATLAB语言编写的程序,称为M文件。,2 M文件,(1) M文件的创建和打开,m文件的类型是普通的文本文件,可以使用系统认可的文本文件编辑器来建立m文件。如windows的记事本和word等。 用matlab自带的编辑器来编制m文件。,第五讲 MATLAB程序设计,5,命令文件:将用户在MATLAB环境下直接输入的多条语句或者命令,存放为.m后缀的文件,在命令行键入文件名,来替代在命令窗口输入多条语句,一次执行成批命令。 函数文件:它是有特定书写规范的M文件。必须有定义行。,M文件根据调用方式的不同分

3、为: 命令文件(脚本文件) 函数文件,(2) M文件的分类,第五讲 MATLAB程序设计,6,(3)M文件格式,函数文件: 1)定义行 function 返回变量=函数名(输入变量) 2)注释说明语句段 3)函数体,例 编写函数文件求半径为r的圆的面积和周长。 (fcircle.m),第五讲 MATLAB程序设计,7,区别,(1)命令文件没有定义行,函数文件必须有定义行 (2)命令式文件没有输入和输出变量,函数文件有输入和输出变量 (3)命令式文件运行中可以调用工作空间中的数据,运行中产生的变量出现在工作空间中。函数式文件不能调用工作空间中的数据,运行中产生的变量不出现在工作空间中。 (4)命

4、令文件可以直接运行,函数文件不能直接运行,只能调用。,第五讲 MATLAB程序设计,8,1. 函数m文件第一行必须以单词function作为引导词,表示该M文件是一个函数文件,必须遵循如下形式: function 因变量=函数名(自变量) 2. 函数名的命名规则与变量名相同,m文件的文件名必须是 .m。 3. 程序中的变量均为局部变量,不保存在工作空间中。 其变量只在函数运行期间有效。,注意问题:,第五讲 MATLAB程序设计,9,(1)局部变量和全局变量 局部变量只存在于单个函数工作空间,它与其它函数是隔离的。函数文件的内部变量是局部的 全局变量存在整个workspace工作空间,所有的函数

5、都可以对其进行调用和修改。 全局变量用global命令定义,格式为: global 变量名,3、 函数文件相关的概念,第五讲 MATLAB程序设计,10,例 全局变量应用示例,先建立函数文件wadd.m,该函数将输入的参数加权相加。,调用第二个函数文件cossin.m,注意:程序设计中,全局变量固然可带来某些方便,但却破坏了函数对变量的封装,降低了程序的可读性和可靠性; 不提倡用全局变量,第五讲 MATLAB程序设计,11,(2)函数参数的可调性,在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。 在函数文件中包含这两个变量,就

6、可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。,例 nargin用法示例(exnargin.m nargindemo.m ),第五讲 MATLAB程序设计,12,(3) matlab的数据文件.mat,mat文件是matlab以标准二进制格式保存的数据文件,可将工作空间中有用的数据变量保存下来。 mat文件的生成和调用是由函数save和load完成的。,第五讲 MATLAB程序设计,13,二、程序控制结构,顺序结构 选择结构 循环结构,第五讲 MATLAB程序设计,14,1、 顺序结构数据的输入输出 (1) 数据的输入input命令:从键盘输入数据 该函数的调用

7、格式为: A=input(提示信息,选项); 选项用于提示用户输入什么类型的数据。 (2)数据的输出disp命令:显示器输出数据 其调用格式为 disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。,第五讲 MATLAB程序设计,15,例 输入x,y的值,并将它们的值互换后输出。(exdisp.m),(3) 程序的暂停,暂停程序的执行可以使用pause函数 其调用格式为: pause(延迟秒数) 如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。 若要强行中止程序的运行可使用Ctrl+C命令。,第五讲 MATLAB程序设计,16,2、选择结构 (1) 条

8、件分支语句if语句 在MATLAB中,if语句有3种格式。 1) 单分支if语句: if 条件 语句组 end,第五讲 MATLAB程序设计,17,2) 双分支if语句: if 条件 语句组1 else 语句组2 end,第五讲 MATLAB程序设计,18,3) 多分支if语句: if 条件1 语句组1 elseif 条件2 语句组2 elseif 条件m 语句组m else 语句组n end (exif.m),第五讲 MATLAB程序设计,19,(2)分支循环语句switch语句 switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 case 表达式m 语句组m

9、otherwise 语句组n end (exswitch.m),第五讲 MATLAB程序设计,20,(3)try语句 语句格式为: try 语句组1 catch 语句组2 end try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。,第五讲 MATLAB程序设计,21,例: 矩阵乘法运算要求两矩阵的维数相容,否则会出 错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。(extry.m),第五讲 MATLAB程序设计,22,3、 循环结构 (1)硬循环语句for语句 for语句的格式为: for 循环变量 循环体语

10、句 end,例:已知 ,当n=100时,求 的值。 程序如下(exfor.m),第五讲 MATLAB程序设计,23,(2)条件循环语句while语句 while语句的一般格式为: while (条件) 循环体语句 end,例 从键盘输入若干个数,当输入0时结束输入,求 这些数的平均值和它们之和。(exwhile.m),第五讲 MATLAB程序设计,24,(3)循环的嵌套 如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。 例17 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求1,500之间的全部完数。(exforif.m),第

11、五讲 MATLAB程序设计,25,(4)break语句和continue语句 它们一般与if语句配合使用。 break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。 continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。,例:求100,200之间第一个能被21整除的整数(exbreak.m),第五讲 MATLAB程序设计,26,三、程序调试,1 错误分类 一般来说,应用程序的错误有两类: 一类是语法错误,例如函数名的拼写错、表达式书写错等。 另一类是运行时的错误。指程序的运行结果有错误,这类错误也称为逻辑错误。,第五讲 MATLAB程序设计,27,2、查找

温馨提示

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

评论

0/150

提交评论