从varagin将可变数量的字符串传递给MATLAB函数

Passing variable number of strings to MATLAB function from varagin

我有一个函数,我接收参数作为 varargin 参数的一部分。但是,在该函数内是另一个使用 varargin 的函数调用。如何将第一个 varargin 的内容传递给嵌套函数而不以元胞数组的元胞数组结束?

即给定以下代码:

function foo(varargin)
    bar(varargin)
end

function bar(varargin)
    % Do something with varargin
end

foo('ab', 'cdef')

bar(varargin) 中的 varargin 是一个包含 1x2 元胞数组 {'ab', 'cdef'}.

的 1x1 元胞数组

我正在尝试写一些东西:

foo('ab', 'cdef')

可以进行 bar(varargin) 调用,其中 varargin 只是一个 1x2 元胞数组 {'ab', 'cdef'}

如何将 foo 调用中的 varargin 元胞数组的内容传输到 bar 调用中的单独参数?

只需使用 {:} 冒号参数

将元素从元胞数组中取出
function foo(varargin)
    bar(varargin{:});
end