在MATLAB中创建可变数量输入参数的函数
MATLAB是一种高级编程语言,具有定义可以接受可变数量输入参数的函数的能力。在MATLAB中,不需要定义任何额外的函数或数组来定义具有可变数量输入参数的函数。
如何在MATLAB中创建具有可变数量输入参数的函数?
在MATLAB中,当函数定义语句中使用关键字 “varargin” 时,它使函数能够接受任意数量的输入参数。关键字”varargin”由 “VARiable ARGument INput” 组成。重要的是要注意关键字”varargin”必须以小写字符指定。另外,”varargin”必须在函数定义中声明为最后一个输入参数。
如果函数执行,”varargin”参数将创建一个1xN个单元数组。这里,N是在接受显式声明的输入之后函数接受的输入数量。在函数在显式声明的输入之后不接受任何输入的情况下,”varargin”参数将是一个空的单元数组。
语法
以下语法用于创建具有可变数量输入参数的函数。
function MyFun(var1, var2, var3, …, varargin)
--- Function Body ---
end
总体而言,在MATLAB中,当我们在函数中使用关键字’varargin’时,它使得函数能够灵活接受任意数量的输入参数。
这种能够接受任意数量的输入参数的函数通常用于在创建函数时不定义参数的情况下输入参数。
现在,让我们理解一下如何在MATLAB功能中使用“varargin”选项来接受可变数量的输入参数。
首先,我们定义一个函数,并在函数定义语句中指定“varargin”选项作为其输入参数之一,如下:
function MyFun(varargin)
在函数体内,我们可以使用这个’varargin’变量来接受任意数量的输入参数,它实际上会作为一个cell数组。这个cell数组将包含在运行时传递给函数的所有输入参数。
此外,我们事先不知道将有多少个输入参数被提供给函数。为了解决这个问题,我们可以使用像’numel(varargin)’或’length(varargin)’这样的语法来确定可以提供给函数的输入参数的数量。
这就是在MATLAB中创建具有可变数量输入参数的函数的基础知识。
示例
现在,让我们考虑一个实例来实际了解’varargin’选项是如何工作的。
% MATLAB code to create a function with variable number of input arguments
function TutorialsPoint(varargin)
n = numel(varargin);
disp(['Number of Input Arguments: ' num2str(n)]);
for i = 1:n
disp(['Input Argument ' num2str(i) ': ' num2str(varargin{i})]);
end
end
在创建了名为”TutorialsPoint”的函数后,可以接受任意数量的输入参数。现在让我们用不同数量的输入参数来调用这个函数,如下所示。
% Calling the function with different number of input arguments
TutorialsPoint('Tutorials', 'Point', 'is', 'a', 'Free', 'Resource', 'for', 'Learners.');
TutorialsPoint('MATLAB', 'Course', 'ID', 2001);
TutorialsPoint(500);
输出
Number of Input Arguments: 8
Input Argument 1: Tutorials
Input Argument 2: Point
Input Argument 3: is
Input Argument 4: a
Input Argument 5: Free
Input Argument 6: Resource
Input Argument 7: for
Input Argument 8: Learners.
Number of Input Arguments: 4
Input Argument 1: MATLAB
Input Argument 2: Course
Input Argument 3: ID
Input Argument 4: 2001
Number of Input Arguments: 1
Input Argument 1: 500
解释
在这个MATLAB示例中,我们首先使用’varargin’选项创建一个函数(在本例中为TutorialsPoint)作为其输入参数。然后,我们定义函数体。最后,我们将这个函数保存在我们的MATLAB工作区中。
在此之后,我们可以在MATLAB命令窗口中调用该函数并传入任意数量的输入参数。该函数将接受输入参数并根据函数定义显示结果。
示例
让我们现在考虑另一个例子,创建一个函数,可以添加任意数量的数字输入参数。
function MySum(varargin)
n = numel(varargin);
S = 0;
for i = 1:n
S = S + varargin{i};
end
disp(['Sum of input Numbers: ' num2str(S)]);
end
现在,让我们调用此函数来添加多个数值型输入参数。
% Calling the function with different number of input arguments
MySum(1, 2, 3);
MySum(5, 10, 20, 50, 100);
输出
Sum of input Numbers: 6
Sum of input Numbers: 185
结论
这就是关于在MATLAB中创建具有可变数量输入参数的函数的全部内容。在MATLAB中,我们有一个名为’varargin’的变量,我们可以在函数中使用它来允许函数接受任意数量的输入参数。
在本教程中,我们解释了与’varargin’变量相关的所有基本概念。我们还包含了一些示例程序,以便更容易理解这个概念。