MATLAB-程序设计——函数文件和程序调试PPT课件_第1页
MATLAB-程序设计——函数文件和程序调试PPT课件_第2页
MATLAB-程序设计——函数文件和程序调试PPT课件_第3页
MATLAB-程序设计——函数文件和程序调试PPT课件_第4页
MATLAB-程序设计——函数文件和程序调试PPT课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、MATLAB编程功能文件和程序调试。M文本文件介绍。MATLAB编写的程序文件称为M文件,它包括脚本文件和函数文件。脚本文件(M-script)不需要输入参数或输出参数,并按照文件中指定的顺序执行命令序列。脚本文件适用于小规模操作。函数文件接受其他数据作为输入参数,并可以返回数据。函数是MATLAB编程的主流方法。3。脚本M文件介绍。脚本M文件通常只由M文件的主体和注释组成。正文主要是实现功能,注释是给出代码描述。例如:g=0: 0.5: 20%产生一维向量x=sin(g);%计算正弦值y=cos(g);%计算余弦z=x;y。保存脚本文件时,根据MATLAB标识符的要求,有两种方式运行脚本文件

2、:1。在命令窗口中键入文件名;2.在M文件编辑窗口的调试菜单中单击运行,或使用快捷键F5。4。函数M文件介绍,以函数语句为指导,格式为:函数输出参数表=函数名称(输入参数表)%注释描述部分(可选)函数体语句(必选)注意:第一行是指导行,表示M文件是函数文件。函数名的命名规则与变量名的命名规则相同(必须以字母开头)。当有多个输出参数时,方括号内的函数必须是一个单独的m文件,建议函数的文件名与函数名一致,通常是函数名。如有任何不一致,以文件名为准。5,Function M文件介绍,形式参数被称为“形式参数”,因为它不是一个实际的变量,所以它也被称为虚拟变量。形式参数是定义函数时使用的参数,其目的是

3、接收调用函数时传入的参数。参数也可以理解为函数的独立变量,其初始值来自函数的调用。只有在程序执行过程中调用函数时,参数才有可能得到特定的值,并参与运算得到函数值。参数可以在整个函数体中使用,但不能在没有函数的情况下使用。6,函数m的文件介绍,%注释描述部分(可选)第一个注释行是大写的函数文件名和函数的简要描述,供查找和帮助使用。在第一条注释行之后,是函数输入/输出参数的含义、调用格式的描述等信息,构成所有在线帮助文本,包括文件编写和修改信息,用于软件文件管理。7、函数m文件示例,编写一个函数文件来计算圆柱函数s的表面积和体积,v=列(r,h)s=2 * r * pi * H2 * pi * R

4、2;%计算表面积v=pi * R2 * h;%计算体积注意:当一个函数有多个输出变量时,它用方括号括起来。当函数没有输出变量时,输出部分被直接省略或用空方括号表示。% r是列的半径% h是列注释的高度,8,函数调用,函数文件不能直接运行,应该以函数调用的方式调用,调用的一般格式:实际参数必须有一定的值。当一个函数被调用时,实际的参数被传递给相应的形式参数,这样参数被传递,然后函数的函数被执行。调用函数时,参数的顺序和数量应该与定义函数时形式参数的顺序和数量一致。函数调用中的数据传输是单向的。也就是说,自变量的值只能传递给形式参数,而形式参数的值不能反过来传递给实际参数。输出参数列表=函数名(输

5、入参数列表),9,函数调用,示例:s,v=列(1,1);或者r=1;h=1;s,v=cole(r,h);10,函数变量,工作空间MATLAB将每个变量保存在一个内存空间中,这称为工作空间。主工作区包括通过命令窗口创建的所有变量和运行脚本文件生成的变量。脚本文件没有独立的工作空间,但是每个函数都有一个独立的工作空间,函数的所有变量都存储在独立的工作空间中。根据变量的工作区域,函数变量主要分为以下两种类型:局部变量全局变量,11,函数变量局部变量,局部变量:每个函数都有自己的局部变量,它们存储在函数的独立工作区域,并与其他函数的变量和主工作区域的变量分开存储。当函数调用结束时,这些变量被删除,不存

6、储在内存中。此外,除了函数的返回值之外,该函数不改变工作空间中其他变量的值。脚本文件没有独立的工作空间。当通过命令窗口调用脚本文件时,脚本文件共享主工作空间,当通过函数调用脚本文件时,脚本文件共享主音调函数的工作空间。应该注意的是,如果工作空间中的变量值在脚本中发生了变化,那么在调用脚本文件之后,变量值也会发生变化。在函数中,变量默认是局部变量。12,函数变量全局变量,全局变量局部变量只在一个工作空间有效,无论是函数工作空间还是MATLAB主工作空间。与局部变量不同,全局变量可以在所有工作空间中定义为有效。当在一个工作空间中更改此变量的值时,其他工作空间中的变量也会同时更改。如果任何函数需要使

7、用全局变量,它必须首先声明。声明格式为:全局变量名1变量名2。变量名列表中的变量由空格分隔,而不是逗号!13,函数变量全局变量,定义全局变量是在M个文件之间传递信息的一种手段。全局变量给函数间的数据传输带来了方便,但它们破坏了函数对变量的封装,降低了程序的可读性。因此,全局变量在结构化编程中不受欢迎。特别是当程序较大且子程序较多时,全局变量会给程序的调试和维护带来不便,因此不提倡使用全局变量。14,函数类型,主函数子函数嵌套函数,15,函数类型主函数,通常每个m文件中的第一个函数是主函数,主函数可以被文件外的其他函数调用,而子函数只能被文件中的函数调用。主函数的调用由存储该函数的m文件的文件名

8、来调用。16,函数类型子函数,一个m文件可以包含多个函数,除了主函数以外的其他函数都称为子函数。子函数只能由文件中的主函数或其他子函数调用。每个子函数都从一个函数定义语句开始,直到下一个函数的定义或文件结束。17,函数类型嵌套函数。其他函数可以在函数内部定义。这个内部函数叫做嵌套函数。当定义嵌套函数时,您只需要直接在函数中定义它们。应该注意的是,当m文件中存在嵌套函数时,文件中的所有函数都必须以end结尾。嵌套函数x=a (P1,p2)的示例结构.函数y=b (P3).目标.end,18,函数类型是嵌套函数,每个函数中可以嵌套多个函数。许多并行嵌套函数函数x=A(p1,p2).函数y=b (P

9、3).结束函数z=c (P4).目标.end,19,函数类型嵌套函数,多级嵌套函数函数x=a (P1,P2).函数y=b (P3).函数z=c (P4).目标.在这个程序中,函数a与函数b嵌套,函数b与函数C嵌套.20,调用函数类型的嵌套函数,一个嵌套函数可以被下列函数调用:(1)嵌套函数上面的函数;(2)同一父函数下的同一级嵌套函数;(3)由任何低级函数调用。21,函数句柄,函数句柄可以用来实现函数的间接操作,函数句柄可以传递给其他函数来实现函数的操作,或者函数句柄可以保存在变量中以供以后调用操作。函数句柄由fhandle=functionname格式的符号创建。例如:解出方程ex-x=0函数FX=方程(x)FX=exp(x)-3 * x;fzero(等式1);fminbnd(公式,0,1);语法错误有两种,包括词汇或语法错误,如函数名的拼写错误和表达式的书写错误。MATLAB可以检测这些错误中的大部分,给出错误信息并指出错误位置。运行时错误程序的结果有错误,也称为程序逻辑错误。MATLAB系统对程序逻辑错误无能为力。23.调试程序。对于逻辑错误,可以使用调试来查找程序执行的中间结果

温馨提示

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

评论

0/150

提交评论