MATLAB 函数可选参数
Ammar Ali
2021年4月29日
在本教程中,我们将讨论如何通过使用 MATLAB 中的 nargin
和 varargin
属性来设置函数的可选参数。
使用 MATLAB 中的 varargin
和 nargin
属性设置函数的可选参数
你可以使用函数名称方括号内的 varargin
属性为函数提供任意数量的输入,还可以使用 nargin
属性检查传递给该函数的输入数量。例如,让我们创建一个函数,该函数使用 varargin
属性接受任何数量的输入,然后使用 nargin
属性来获取输入的数量。请参见下面的代码。
Number_of_inputs = sample(2,1,1)
function output = sample(varargin)
output = nargin;
end
输出:
Number_of_inputs =
3
如你所见,我们在函数中传递了三个输入,该输入返回输入的总数。varargin
包含一个输入数组,你可以根据需要使用它们。例如,让我们获取输入的数量,然后使用 for
循环打印这些输入。请参见下面的代码。
Number_of_inputs = sample(2,'Hello',[1,2,3]);
function output = sample(varargin)
output = nargin;
for i=1:nargin
disp(varargin{i})
end
end
输出:
2
Hello
1 2 3
如你在输出中看到的,输入已显示。因此,你可以使用索引来获取保存在 varargin
单元格数组中的特定输入,然后根据需要使用它们。所有这些输入都是可选的,但是如果你想添加一些必填的输入,则可以将它们添加到 varargin
之前。请注意,你必须在函数调用期间添加强制性输入。否则,该函数将给出错误。例如,让我们添加两个必需参数,然后添加它们以获取输出,然后将显示可选参数。请参见下面的代码。
sum = sample(2,3,[1,2,3],'Hello')
function output = sample(x,y,varargin)
output = x+y;
for i=1:nargin-2
disp(varargin{i})
end
end
输出:
1 2 3
Hello
sum =
5
如你在输出中所见,已添加前两个输入以获取总和,并显示可选参数。注意,我们已经从 nargin
中减去了两个,因为 nargin
给出了输入的总数,而不是 varargin
单元格数组中存在的输入。查看此链接以获取有关 varargin
属性的更多信息。
作者: Ammar Ali