讲单元数据类型时-恶意代码分析实战英文原版pdf
第五章自定义函数5.3选择性参数。许多的MATLAB函数都支持选择性输入参数和输出参数。我们调用plot
函数,输入参数既可以少到2个,也可以多到7个参数。从另一方面说,函数max
既支持一个输出参数,也支持两个输出参数。如果只有一个输出参数,max
将会返回函数的最大值。如果有两个输出参数将会返回数组的最大值和最大值所在的位置。那么,如何知道一个MATLAB函数有几个输入输出参数呢?以及函数相应的功能呢?
在MATLAB中有八种专门的函数用于获取关于选择性参数的信息和用于报告这些参数的错误。其中的六个函数我们在这里介绍,其余的两个我们将在第七章讲单元数据类型时介绍。
-
nargin
这个函数返回调用这个函数时实际输入参数的个数。 -
nargout
这个函数返回调用这个函数时实际输出参数的个数。 -
nargchk
如果一个函数被调用时参数过多或过少,那么nargchk
函数将返回一个标准错误信息。 -
error
显示错误信息,并中止当前函数的执行。如果参数错误是致命的,这个函数将会被调用。 -
warning
显示警告信息,并继续当前函数的执行。如果参数错误不是致命的,则继续执行当前函数的同时,调用本函数。 -
inputname
这个函数将会返回第n个输入参数的实际调用变量名。
函数nargin
和nargout
只用在用户自定义函数中。当它们被调用时,这些函数将会分别返回实际输入、输出参数的个数。如果一个函数在被调用时含有过多或过少的参数,函数nargchk
将会产生一个包含标准错误的字符串。此函数的语法如下:
message = nargchk(min_args, max_args, num_args);
其中min_args
是指参数的最小个数,max_args
是指参数的最大个数,num_args
是指参数的实际个数。如果参数的个数不在允许的范围,将会产生一个标准的错误信息。如果参数的个数在允许的范围之内,那么这个函数将返回一个空字符。
函数error
是用于显示标准的错误信息和用于中止导致错误信息的自定义函数的一种标准方式。这个函数的语法是:
error('msg');
其中msg
是一个包含错误信息的字符串。当error
函数执行,它将会中止当前函数,并返回到键盘输入状态,在命令窗中显示出错误信息。如果这个信息字符串为空,error
函数将什么也不做,当前函数继续执行。函数error
与函数nargchk
配合,当有错误发生时,error
将产生一个信息字符串,当没有错误时,error
将产生一个空字符。
函数warning
是显示警告的函数名及所在行的信息,并继续执行当前函数。此函数的语法为:
warning('msg');
其中msg
是指含有警告信息的字符串。当执行waring
函数时,它将在命令窗口显示警告信息,列出警告的函数名及所在行的信息。如果信息字符串为空,warning
将什么也不做。同时,当前函数将继续执行。
当一个函数被调用时,inputname
函数将会返回实参的名字。inputname
函数的语法为:
name = inputname(argno);
其中argno
是参数的序号。如果这个参数是一个变量,那么返回将只是变量名。如果参数是一个表达式,那么这个函数将会返回空字符。考虑下面的函数:
function myfun(x, y, z)
name = inputname(2);
disp(['The second argument is named ' name]);
当这个函数被调用时,结果如下(注:语句myfun(dog,cat)
和myfun(1,2+cat)
执行前,变量dog
和cat
必须赋初值,否则执行语句将出错。)
myfun(dog,cat)
The second argument is named cat
myfun(1,2+cat)
The second argument is named
在深入了解这些函数的应用时,不妨参考MATLAB函数插值编程和MATLAB常用函数大全及参数解释等资料,这些资源将帮助你更全面地掌握MATLAB的函数处理技巧。想要了解更多?快去探索吧!