M-文件
MATLAB中的M-文件可以是简单执行一系列MATLAB语句的源文件,也可以是接收自变量并产生一个或多个输出的函数。下面重点介绍M-文件函数。这些函数将MATLAB和IPT的功能扩展到访问特定的用户定义的应用程序。
M-文件由文本编辑器创建,并以filename.m形式的文件名存储,比如average.m以及filter.m。M-文件的组成部分如下:
*函数定义行
*H1语句
*帮助文本
*函数主体
*命令
函数定义行的形式为:
function [outputs] = name(inputs)
例如,某个计算两幅图像的求和与乘积(两个不同的输出)的函数应该具有如下形式:
function [s, p] = sumprod(f, g )
其中,f和g是输入图像,s是求和图像,p是乘积图像。名称sumprod 可任意定义(符合本段末尾提到的约束即可),但function总是出现在左侧。注意,输出参量必须位于方括号内,而输入参量位于圆括号内。如果函数只有单个输出参量,可不用括号而直接列出。如果函数没有输出,只需要使用function,不需要括号或等号。函数名必须以字母开头,后面可以跟字母、数字、下划线的任意组合,但不允许有空格。MATLAB可以识别长达63个字符的函数,再多的字符将被忽略。
函数可在命令提示符中调用,例如:
>> [s, p] = sumprod (f, g);
也可以被用作其他函数的元素,在这种情况下,这些函数就成为子函数。正如在前面提到的那样,如果输出只有单个变量,也可以不写括号,例如:
>> y = sum(x);
Hl语句是第一个文本行,也就是函数定义行后面的单独注释行。函数定义行和H1语句之间无空行或空格,H1语句的示例如下:
SUMPROD Computes the sum and product of two images.
当用户在MATLAB提示符处键入
>> help function_name
时,Hl语句是最先出现的文本。键入lookfor keyword就会显示出所有含有字符串keyword的Hl语句。这提供了关于M-文件的重要概要信息,所以应尽可能地描述。
帮助文本是紧跟在H1语句后面的文本块,二者之间无空行。帮助文本用来为函数提供注释或在线帮助。当用户在提示符后键入help function_name时,MATLAB会显示函数定义行和第一个非注释行(执行语句或空白语句)之间的全部注释行。但帮助系统会忽略帮助文本块后面的任何注释行。
函数主体包含了执行计算并给输出变量赋值的所有MATLAB代码。本章后面会列举一些MATLAB代码的例子。
符号“%”后面的非H1语句或帮助文本的所有行都被认为是函数注释行,它们不是帮助文本的一部分。代码行的末尾可附加注释。
M-文件可以在任何文本编辑器中进行创建和编辑,并以扩展名.m保存到指定目录下,通常保存在MATLAB搜索路径中。创建和编辑M-文件的另一种方法是在提示符处使用edit函数。例如,如果文件存在于MATLAB搜索路径的目录中或者在当前目录下,可键入:
>> edit sumprod
就会打开文件sumprod.m并进行编辑。如果找不到该文件,MATLAB会为用户提供用于创建该文件的选项。MATLAB编辑窗口有很多下拉菜单,可以完成诸如保存文件、检查文件以及调试文件等任务。文本编辑器可以执行一些简单的检查,并使用不同的颜色来区分各种代码元素,因此建议在书写或编辑M-文件时使用文本编辑器。
End
版权声明:
- 本文源自《数字图像处理的MATLAB实现》(第二版),图片来源于网络,若侵权删除
- 版权归相关权利人所有,如存不当使用的情况,请与我们联系。
- 本公众号分享文章,仅供学习交流及参考,请勿随意试药。
戳 “阅读原文”我们一起进步 返回搜狐,查看更多
责任编辑: