5.3选择性参数
第五章自定义函数第139页函数inputname用来显示警告或错误信息中的参数名非常有用。例5.3选择性参数的应用通过创建函数把直角坐标值(x,y)转化相应的极坐标值,我们向大家说选择性参数的应用。这个函数支持两个输入参数,x和y。但是,如果支持只有一个参数的情况,那么函数就假设y值为0,并使用它进行运算。函数在一般情况下输出量为模与相角(单位为度)。但只有一个输出参数时,它只返回模。函数如下所示。
function [mag, angle] = polar_value(x, y)
% POLAR_VALUE Converts(x, y) to (r, theta)
% Function POLAR_VALUE converts an input(x,y)
% value into (r, theta), with theta in degrees.
% It illustrates the use of optional arguments.
% Define variables:
% angle --Angle in degrees
% msg --Error message
% mag --Magnitude
% x --Input x value
% y --Input y value(optional)
% Record Of revisions:
% Date Programmer Description of change
% =========== ===
% 12/16/98 S.J.Chapman Original code
% Check for a legal number of input arguments
msg = nargchk(1,2,nargin); error(msg);
% If the y argument is missing, set it to 0.
if nargin < 2
y = 0;
end
% Check for (0,0) input argument, and print out
% a warning message.
if x == 0 & y == 0
msg = 'Both x and y are zero: angle is meaningless!';
warning(msg);
end
% Now calculate the magnitude
mag = sqrt(x .^2 + y .^2);
% If the second output argument is present,calculate
% angle in degrees
if nargout == 2
angle = atan2(y,x) * 180/pi;
end
我们通过在命令窗口反复调用这个函数来检测它。我们用过多或过少的参数来调用这个函数。
>> [mag angle]=polar_value
??? Error using ==> polar_value
Not enough input arguments.
>> [mag angle]=polar_value(1,-1,1)
??? Error using ==> polar_value
Too many input arguments.
在两种情况下均产生了相应的错误信息。我们将用一个参数或两个参数调用这个函数。
>> [mag angle]=polar_value(1)
若您对函数参数的更多应用感兴趣,为什么不看看这篇关于函数参数传递的文章呢?或者,这篇关于Python函数参数的详细介绍也会给您带来启发!还有一个有趣的资源是关于JavaScript函数参数的讲解,绝对值得一读!
让我们进一步探索这些主题,看看还能发现些什么吧!
暂无评论