实验三_m_文件及_matlab_程序设计与调试

实验三_m_文件及_matlab_程序设计与调试

ID:14590427

大小:96.50 KB

页数:12页

时间:2018-07-29

实验三_m_文件及_matlab_程序设计与调试_第1页
实验三_m_文件及_matlab_程序设计与调试_第2页
实验三_m_文件及_matlab_程序设计与调试_第3页
实验三_m_文件及_matlab_程序设计与调试_第4页
实验三_m_文件及_matlab_程序设计与调试_第5页
资源描述:

《实验三_m_文件及_matlab_程序设计与调试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三M文件及MATLAB程序设计与调试一、实验目的全面掌握在MATLAB下进行程序设计的有关问题,具体涉及到M脚本文件和M函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。二、实验内容1、关于M脚本文件和M函数文件MATLAB的M文件有两类:脚本文件和函数文件。(1)脚本文件——将原本要在MATLAB的指令窗口中直接输入的语句,放在一个以.m为后缀的,称为脚本文件中。有了脚本文件,可直接在MATLAB中输入脚本文件名(不含后缀)。MATLAB会打开这一脚本文

2、件,并依次执行脚本文件中的每一条语句,这与在MATLAB中直接输入语句的结果完全一致。(2)函数文件——它的第一行必须是函数定义行。M函数文件由5部分构成:◆函数定义行◆H1行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。但作为一个函数,为了提高函数的可用性,应加上H1行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。例如:functiony=mean(x)%MEANAverageormeanvalue.%Forvectors,MEAN(X)isthe

3、meanvalueoftheelementsinX.%Formatrices,MEAN(X)isarowvectorcontainingthemeanvalueofeachcolumn.[m,n]=size(x);ifm==1%Determinewhetherxisavectorm=n;endy=sum(x)/m;①函数定义行:functiony=mean(x)function为函数定义的关键字,mean为函数名,y为输出变量,x为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时

4、,则直接用圆括号括起。例如:function[x,y,z]=sphere(theta,phi,rho)。当函数不含输出变量时,则直接略去输出部分或采用空方括号表示,例如:functionprintresults(x)或function[]=printresults(x)所有在函数中使用和生成的变量都为局部变量(除非利用global语句定义),这些变量值只能通过输入和输出变量进行传递。因此,在调用函数时应通过输入变量将参数传递给函数;函数调用返回时也应通过输出变量将运算结果传递给函数调用者;其它在函数中产生

5、的变量在返回时被全部清除。②H1行:描述了函数的“功能”信息(很重要!)函数文件中第二行一般是注释行,这一行称为H1行,实际上它是帮助文本中的第一行。H1行不仅可以由helpfuntion-name命令显示,而且,lookfor命令只在H1行内搜索,③函数帮助文本:用来比较详细地说明这一函数的用法以%开头,输入时helpfuntion-name命令,可显示出H1行和函数帮助文本。④函数体:完成指定功能的语句实体可采用任何可用的MATLAB命令,包括MATLAB提供的函数和用户自己设计的M函数。⑤注释l备注

6、:n函数定义名和保存文件名必须一致。两者不一致时,MATLAB将忽视文件首行的函数定义名,而以保存文件名为准;n函数文件的名字必须以字母开头,后面可以是字母、下划线以及数字的任意组合,但不得超过63个字符;n建议在编写H1行时,采用英文表达。这样处理是为了以后关键词检索方便。(3)脚本文件和函数文件比较比较项脚本文件函数文件定义行无需定义行必须有定义行输入/输出变量无有数据传送直接访问基本工作空间中的所有变量通过输入变量获得输入数据;通过输出变量提交结果编程方法直接选取MATLAB中执行的语句精心设计完成

7、指定功能用途重复操作MATLAB功能扩展函数文件去掉其第一行的定义行,就转变成了脚本文件。但这样一来使用的局部变量就成了基本工作空间中的变量,这会带来几个问题:l基本工作空间中与脚本文件中同名的变量会引起冲突l使基本工作空间中变量数急剧增加,造成内存紧张l编程时要细心考虑各个脚本文件所用到的变量这些问题在函数文件中不复存在,MATLAB通过实参与形参一一对应的方式来实现函数的调用,这极大地方便了程序设计。举例:分别编写出求取平均值与标准差的脚本文件stat1.m和函数文件stat2.m。stat1.m%脚

8、本文件%求阵列x的平均值和标准差[m,n]=size(x);ifm==1m=n;ends1=sum(x);s2=sum(x.^2);mean1=s1/m;stdev=sqrt(s2/m-mean1^2);stat2.m%函数文件function[mean1,stdev]=stat2(x)%STAT2函数文件%求阵列x的平均值和标准差[m,n]=size(x);ifm==1m=n;ends1=sum(x);s2=sum(x.^2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。