- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二講 MATLAB的
第二讲 MATLAB的
2.1 脚本文件和函数文件
2.2 函数调用和参数传递
2.3 MATLAB的程序结构和控制流
2.4 M文件的调试
程序设计
2.1 脚本文件和函数文件
2.1.1 M脚本文件
对于一些比较简单的问题 ,在指令窗中直接输入指令计算 。
对于复杂计算,采用脚本文件(Script file)最为合适 。
MATLAB只是按文件所写的指令执行 。
M脚本文件的特点是:
脚本文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集合。
脚本文件运行后 ,所产生的所有变量都驻留在 MATLAB基本工作空间(Base workspace)中。只要用户不使用清除指令(clear), MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中。
M文件有两种形式 :脚本文件(Script File)和函数文件(Function File )。这两种文件的扩展名,均为“ . m” 。
2.1 脚本文件和函数文件(续1)
2.1.2 M函数文件
与脚本文件不同 ,函数文件犹如一个“黑箱”,把一些数据送进并经加工处理,再把结果送出来。
MATLAB提供的函数指令大部分都是由函数文件定义的。
M函数文件的特点是:
从形式上看 ,与脚本文件不同 ,函数文件的笫一行总是以 “function”引导的“函数申明行”。
从运行上看 ,与脚本文件运行不同 ,每当函数文件运行, MATLAB就会专门为它开辟一个临时工作空间,称为函数工作空间( Function workspace) 。当执行文件最后一条指令时 ,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。
MATLAB允许使用比 “标称数目 ”较少的输入输出宗量,实现对函数的调用 。
2.1 脚本文件和函数文件(续2)
2.1.3 M文件的一般结构
由于从结构上看 ,脚本文件只是比函数文件少一个“函数申明行”,所以只须描述清楚函数文件的结构 。
典型 M函数文件的结构如下 :
函数申明行:位于函数文件的首行,以关键字 functio 开头,函数名以及函数的输入输出宗量都在这一行被定义。
笫一注释行:紧随函数申明行之后以%开头笫一注释行。该行供lookfor关键词查询和 help在线帮助使用 。
在线帮助文本区 :笫一注释行及其之后的连续以%开头的所有注释行构成整个在线帮助文本。
编写和修改记录:与在线帮助文本区相隔一个“空”行,也以%开头,标志编写及修改该M文件的作者和日期等 。
函数体:为清晰起见,它与前面的注释以“空”行相隔。
例 2_2_1:M函数文件示例。
2.2 函数调用和参数传递
2.2.1 局部变量和全局变量
局部(Local)变量:它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身 。
全局(Global)变量:通过 global 指令,MATLAB也允许几个不同的函数空间以及基本工作空间共享同一个变量,这种被共享的变量称为全局变量。
2.2.2 函数调用
在MATLAB中,调用函数的常用形式是:
[输出参数1,输出参数2,…] = 函数名(输入参数1,输入参数2, …)
函数调用可以嵌套,一个函数可以调用别的函数,甚至调用它自己 (递归调用)。
2.2 函数调用和参数传递(续)
2.2.3 参数传递
MATLAB在函数调用上有一个与众不同之处 :函数所传递的参数具有可调性 。
传递参数数目的可调性来源于如下两个MATLAB永久变量:
函数体内的 nargin 给出调用该函数时的输入参数数目。
函数体内的 nargout 给出调用该函数时的输出参数数目。
只要在函数文件中包括这两个变量,就可以知道该函数文件调用时的输入参数和输出参数数目。
值得注意:nargin、 nargout 本身都是函数,不是变量,所以用户不能赋值,也不能显示。
“变长度”输入输出宗量:varargin 、 varrgout。具有接受 “任意多输入” 、返回“任意多输出”的能力 。
跨空间变量传递:evalin。
(参考 : circle .m,am1.m)
2.3 MATLAB的程序结构和控制流
2.3.1 程序结构
循环结构: MATLAB提供两种循环方式。
顺序结构
分支结构: if—else—end 。
for—end 循环和while---end循环。
2.3.2 程序流控制
常用指令:return,echo,input,pause,keyboard,break。
switch---case 结构。
try---catch 结构。
警示指令:error, warning
文档评论(0)