MATLAB中具有可变数量输入参数的函数


MATLAB 是一种高级编程语言,它能够定义一个可以接受可变数量输入参数的函数。在 MATLAB 中,无需定义任何附加函数或数组即可定义具有可变数量输入参数的函数。

如何在 MATLAB 中创建具有可变数量输入参数的函数?

在 MATLAB 中,当在函数定义语句中使用关键字“varargin”时,它使函数能够接受任意数量的输入参数。“varargin”关键字由“VARiable ARGument INput”组成。需要注意的是,“varargin”关键字必须使用小写字符指定。“varargin”必须声明为函数定义中的最后一个输入参数。

如果函数执行,“varargin”参数将创建一个 1×N 的元胞数组。这里 N 是函数在接受显式声明的输入后所接受的输入数量。如果函数在接受显式声明的输入后没有接受任何输入,则“varargin”参数将是一个空元胞数组。

语法

以下语法用于在 MATLAB 中创建具有可变数量输入参数的函数。

function MyFun(var1, var2, var3, …, varargin)
--- Function Body ---
end

总的来说,在 MATLAB 中,当我们在函数中使用关键字“varargin”时,它使函数能够灵活地接受任意数量的输入参数。

这种可以接受任意数量输入参数的函数通常用于需要输入参数但在函数创建时无需定义它们的情况。

现在,让我们了解如何在 MATLAB 函数中使用“varargin”选项来接受可变数量的输入参数。

首先,我们定义一个函数,并在函数定义语句中将其输入参数之一指定为“varargin”选项,如下所示

function MyFun(varargin)

之后,我们可以使用此“varargin”变量在函数体中接受任意数量的输入参数,该变量基本上充当元胞数组。此元胞数组将包含运行时传递给函数的所有输入参数。

此外,我们事先不知道将向函数提供多少个输入参数。为了解决这个问题,我们可以使用“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 示例中,我们首先创建一个函数(本例中为 TutorialsPoint),并将其输入参数设置为“varargin”选项。然后,我们定义函数体。最后,我们将此函数保存在我们的 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”变量相关的全部基本概念。我们还包含了一些示例程序,以便更容易理解该概念。

更新于:2023年9月7日

167 次查看

启动您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.