Page 57 - 数学建模算法与应用
P. 57
第二章 常用建模函数详解
>> [m, n] = mythe(4, 8)
m =
4
n =
8
>> mythe(4, 8)
ans =
4
了解如何为函数指定输入和输出参数的数量相对简单,只需遵循函数 M 文
件中的相应条件分支即可。对于不指定输出参数数量的函数调用,MATLAB 仍
然以指定所有输出参数的方式执行函数。然而,在输出阶段,只有第一个输出参
数的值被分配给 MATLAB 工作空间中的默认变量 ans。
二、可变数目的参数传递
通过将 nagin 和 nargout 函数与条件分支语句结合使用,可以灵活地处理函
数调用过程中可能出现的不同数量的输入和输出参数。然而,这要求开发人员为
输入和输出参数的每种可能组合编写特定的代码逻辑。在某些情况下,用户可能
事先不知道调用函数时传递的输入或输出参数的具体数量,这意味着参数的数量
可能会有所不同。在 MATLAB 中,使用两个特殊函数,varargin 和 varargout,
允许参数数量的灵活性。这两个函数大大简化了输入和输出参数复杂组合的处
理。Varargin 和 varargout 将实际调用期间传递的参数值封装到蜂窝阵列中。因此,
在函数的实现代码中,开发人员需要使用访问单元数组的方法来获取 varargin 和
varargout 中每个单元或单元中封装的变量。这种设计使函数能够适应参数数量和
类型的变化,提高了代码的通用性和灵活性。
例 可变数目的参数传递。
解 在 MATLAB 命令窗口输入:
function y = myth(x)
a = 0;
for i = 1:length(x)
a = a + mean(x(i));
47

