MATLAB M文件函数.pdfVIP

  • 27
  • 0
  • 约1.09万字
  • 约 8页
  • 2017-05-03 发布于天津
  • 举报
MATLAB M文件函数.pdf

第8 章 M 文 件 函 数 使用MATLAB 函数时,例如inv, abs, angle 和sqrt,MATLAB 获取传递给它的变量, 利用所给的输入,计算所要求的结果。然后,把这些结果返回。由函数执行的命令,以及 由这些命令所创建的中间变量,都是隐含的。所有可见的东西是输入和输出,也就是说函 数是一个黑箱。 这些属性使得函数成为强有力的工具,用以计算命令。这些命令包括在求解一些大的 问题时,经常出现的有用的数学函数或命令序列。由于这个强大的功能,MATLAB 提供了 一个创建用户函数的结构,并以M 文件的文本形式存储在计算机上。MATLAB 函数fliplr 是一个M 文件函数良好的例子。 function y = fliplr(x) % FLIPLR Flip matrix in the left/right direction. % FLIPLR(X) returns X with row preserved and columns flipped % in the left/right direction. % % X = 1 2 3 becomes 3 2 1 % 4 5 6 6 5 4 % % See also FLIPUD, ROT90. % Copyright (c) 1984-94 by The MathWorks, Inc. [m, n] = size(x); y = x(: , n : -1 : 1); 一个函数 M 文件与脚本文件类似之处在于它们都是一个有.m 扩展名的文本文件。如 同脚本M 文件一样,函数M 文件不进入命令窗口,而是由文本编辑器所创建的外部文本文 件。一个函数的M 文件与脚本文件在通信方面是不同的。函数与MATLAB 工作空间之间 的通信,只通过传递给它的变量和通过它所创建的输出变量。在函数内中间变量不出现在 MATLAB 工作空间,或与MATLAB 工作空间不交互。正如上面的例子所看到的,一个函 数的M 文件的第一行把M 文件定义为一个函数,并指定它的名字。它与文件名相同,但没 有.m 扩展名。它也定义了它的输入和输出变量。接下来的注释行是所展示的文本,它与帮 助命令: » help fliplr 相对应。第一行帮助行称为H1 行,是由lookfor 命令所搜索的行。 最后,M 文件的其余部分包含了MATLAB 创建输出变量的命令。 8.1 规则和属性 M 文件函数必须遵循以下特定的规则。除此之外,它们有许多的重要属性。包括: 1. 函数名和文件名必须相同。例如,函数fliplr 存储在名为fliplr.m 文件中。 2. MATLAB 头一次执行一个M 文件函数时,它打开相应的文本文件并将命令编辑 成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它 M 文件函数 的引用,它们也同样被编译到存储器。普通的脚本M 文件不被编译,即使它们是从函数M 文件内调用;打开脚本M 文件,调用一次就逐行进行注释。 3. 在函数 M 文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时, 返回该文本。例如, » help fliplr 返回上述前八行注释。 4. 第一行帮助行,名为H1 行,是由lookfor 命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。 6. 函数可以按少于函数M 文件中所规定的输入和输出变量进行调用,但不能用多于 函数M 文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M 文件中 function 语句一开始所规定的数目,则调用时自动返回一个错误。 7. 当函数有一个以上输出变量时,输出变量包含在括号内。例如,[V,D] = eig(A)。不 要把这个句法与等号右边的[V,D] 相混淆。右边的[V,D] 是由数组V 和D 所组成。 8. 当调用一个函数时,所用的输入和输出的参量的数目,在函数内是规定好的。函数 工作空间变量narg

文档评论(0)

1亿VIP精品文档

相关文档