数学建模社区-数学中国

标题: Matlab中的选择性参数---1 [打印本页]

作者: 森之张卫东    时间: 2015-9-17 22:26
标题: Matlab中的选择性参数---1
选择性参数
许多的MATLAB函数都支持选择性输入参数和输出参数。例如,我们调用plot函数,输入参数既可以少到2个,也可以多到7个参数。从另一方面说,函数max既支持一个输出参数,也支持两个输出参数。如果只有一个输出参数,max将会返回函数的最大值。如果有两个输出参数将会返回数组的最大值和最大值所在的位置。如何知道一个MATLAB函数有几个输入输出参数呢,以及函数相应的功能呢?
在MATLAB中有八种专门的函数用于获取关于选择性参数的信息和用于报告这些参数的错误。其中的六个函数我们在这里介绍,其余的两个我们将会在第七章讲单元数据类型时介绍。
  
nargin
  
这个函数返回调用这个函数时所需要的实际输入参数的个数
nargout
这个函数返回调用这个函数时所需要的实际输出参数的个数
nargchk
如要一个函数调用被调用时参数过多或过少,那么nargchk函数将返回一个标准错误信息
error
显示错误信息,并中止函数以免它产生这个错误。如果参数错误是致命的,这个函数将会被调用。
warning
显示警告信息并继续执行函数,如果参数错误不是致命的,执行还能继续,则这个将会被调用。
inputname
这个函数将会返回对于特定参数个数的实际变量名。

函数nargin和nargout只用在用户自定义函数中。当他们被调用时,这些函数将会分别返回实际输入、输出参数的个数。如果一个函数在被调用时含有过多或过少的参数,函数nargchk将会产生一个包含标准错误的字符串。此函数的语法如下:

message = nargchk(min_args, max_args, num_args);


其中min_args是指参数的最小个数,max_args是指数的最大个数,num_args是指参数的实际个数。如果参数的个数不在允许的范围,将会产生一个标准的错误信息。如果参数的个数在允许的范围之内,那么这个函数将返回一个空字符。
函数error是用于显示标准的错误信息和用于中止导致错误信息的自定义函数的一种标准方式。
这个函数的语法是error('msg'),其中msg是一个包含错误信息的字符串。当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)
The second argument is named cat
>>myfun(1,2+cat)
The second argument is named


函数inputname用来显示警告或错误信息中的参数名非常有用。




作者: 翻山越岭    时间: 2017-6-10 00:35
刚好在注释代码遇到了,很有用

作者: 领悟    时间: 2017-6-10 09:39
谢谢楼主





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5