欢迎来到天天文库
浏览记录
ID:50019570
大小:2.21 MB
页数:133页
时间:2020-03-07
《MATLAB实用教程 教学课件 作者 张磊 毕靖 郭莲英 第四章.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第四章基本编程MATLAB提供丰富的函数库,并可以进行程序设计,编写扩展名为.m的M文件,实现各种程序设计功能。MATLAB提供大量的函数,包括内建函数和自带函数。用户也可以利用M文件来创建函数、函数库和脚本。目录4.1M文件基础4.2变量和语句4.3程序调试4.4函数设计和实现习题当需要创建一个M文件时,可以通过【File】
2、【New】
3、【M-File】菜单进入文本编辑器界面。当需要打开一个M文件时,可以通过【File】
4、【Open】菜单进入文件选择的目录界面。本章将着重介绍M文件编程的规则和注意事项。4.1M文件基础4.1.1函数4.1.2脚本4.1.3
5、子函数与私有函数4.1.4伪代码M文件有函数(Functions)和脚本(Scripts)两种格式。M文件可以在任意的文本编辑器中进行创建和编辑,但推荐和默认使用MATLAB自带的文本编辑器和Notebook。4.1.1函数MATLAB中许多常用的函数都是函数式M文件。函数被调用时,通过获取外部参数进行运算,并向外部返回运算结果。函数内部的变量都是隐含的,存放在函数本身的工作空间内。4.1.2脚本脚本也是扩展名为.m的文件,可包含MATLAB的各种命令。在命令窗口中直接键入此文件的文件名,MATLAB可逐一执行文件内的所有命令。将脚本所在目录设置为当前工作目
6、录,并在文本编辑器中打开脚本后,可通过如下方法运行脚本:单击【Debug】菜单下的【Run】;单击快捷键F5;单击工具条上的图标。脚本运行过程所产生的变量都是全局变量,都驻留在MATLAB工作空间内。结合上例,对函数和脚本进行总结如下。(1)函数名必须与文件名相同。(2)脚本没有输入参数和返回值。(3)函数可以包括零个或多个输入参数和返回值,如函数nargin和nargout包含输入参数和返回值的个数。(4)函数被调用时,MATLAB会为它开辟一函数工作空间(Functionworkspace),用来存放中间变量,当执行完函数文件的最后一条命令或者遇到ret
7、urn命令时就结束该函数的运行,返回函数的输出,同时将临时工作空间清空。(5)在M文件中,从开头到第一个非注释行之间的第一个注释行组(之间无空行)是帮助文本。(6)函数中的变量(除特殊声明外)都是局部变量,而脚本中的变量都是全局变量,关于变量的有关内容详见第4.2节。(7)在函数中调用脚本文件,等价于在函数中将脚本文件的内容粘贴在调用的位置。4.1.3子函数与私有函数一个M文件可以包含多个函数,其中,一个是主函数,其他是子函数。主函数必须出现在最上方,其后可有若干子函数,子函数的次序可随意调整。主函数和各子函数的工作空间都是彼此独立的。私有函数是主函数的一种
8、,它只能够在一个特定的限定函数群中可见。当M文件中需要调用某一个函数时,MATLAB是按照以下顺序来搜寻的:检查此函数是否是子函数;检查此函数是否为私有目录的函数;从所设定的搜寻路径搜索此函数。搜索过程中,只要找到与第一个文件名相符的函数就会立即取用而停止搜索。4.1.4伪代码一个M文件首次被调用时,MATLAB将对该M文件进行语法分析,并把生成的相应伪代码(P码)存放在内存中。此后当再次调用该M文件时,将直接运行该文件在内存中的伪代码。伪代码文件和原码文件具有相同的文件名,但其扩展名为.p。伪代码文件不是只有当M文件被调用时才产生,也可使用pcode命令预
9、先生成。4.2变量和语句4.2.1变量类型4.2.2程序控制结构MATLAB的主要功能虽然是数值运算,但是它也是一个完整的程序语言,包括各种语句格式和语法规则。但与C语言不同的是,MATLAB中的变量是不需要事先定义的,如前3章的例子。4.2.1变量类型在MATLAB中,变量名必须以字母开头,之后可以是任意字母、数字或下划线,但之间不能有空格;区分大小写;第63个字符之后的部分将被忽略。除了上述命名规则外,MATLAB还提供一些特殊的变量,如下表所示。除命名规则外,变量命名时还需要注意以下两个方面:(1)变量名不能与已有函数名相同,否则在内存中有该变量时将不
10、能调用同名函数;(2)变量名不能与MATLAB预留的关键字和特殊变量名相同,否则系统会显示错误信息。变量按照作用范围分为局部变量和全局变量。在MATLAB中使用命令global声明全局变量,如下所示:需要使用指定全局变量的M文件,都必须在各自的代码中声明此全局变量。只要存在声明某全局变量的M文件,则全局变量存在。在使用全局变量中需要注意以下几个方面。在使用之前必须首先定义,建议将定义放在函数体的首行位置。虽然对全局变量的名称并没有特别的限制,但是为了提高程序的可读性,建议采用大写字符命名全局变量。全局变量会损坏函数的独立性,使程序的书写和维护变得困难,尤其是
11、在大型程序中,不利于模块化,不推荐使用。4.2.2程
此文档下载收益归作者所有