将可变数量的字符串从varagin传递到MATLAB函数
我有一个函数,其中我接收参数作为将可变数量的字符串从varagin传递到MATLAB函数,matlab,variadic-functions,cell-array,Matlab,Variadic Functions,Cell Array,我有一个函数,其中我接收参数作为varargin参数的一部分。但是,在该函数中有另一个使用varargin的函数调用。如何将第一个varargin的内容传递给嵌套函数,而不以单元格数组的单元格数组结束 即,给定以下代码: function foo(varargin) bar(varargin) end function bar(varargin) % Do something with varargin end foo('ab', 'cdef') bar(varargin)
varargin
参数的一部分。但是,在该函数中有另一个使用varargin
的函数调用。如何将第一个varargin
的内容传递给嵌套函数,而不以单元格数组的单元格数组结束
即,给定以下代码:
function foo(varargin)
bar(varargin)
end
function bar(varargin)
% Do something with varargin
end
foo('ab', 'cdef')
bar(varargin)
中的varargin
是一个1x1单元数组,包含1x2单元数组{ab',cdef'}
我试着写一些东西,其中:
foo('ab', 'cdef')
如果varargin
只是一个1x2单元数组{ab',cdef'}
,则可以发出bar(varargin)
调用
如何将
foo
调用中varargin
单元格数组的内容转换为bar
调用中的单个参数?只需使用{:}
冒号参数将元素带出单元格数组即可
function foo(varargin)
bar(varargin{:});
end
只需使用
{:}
冒号参数将元素从单元格数组中取出即可
function foo(varargin)
bar(varargin{:});
end
你可以只做
bar(varargin{:})代码>?是的。是的,我能。这非常简单。谢谢没问题。我会把答案写下来,这样你就可以把它标记为接受。除非我遗漏了什么,不接受字符串inputs@excaza:我添加了一个定义,以明确您可以只做bar(varargin{:})代码>?是的。是的,我能。这非常简单。谢谢没问题。我会把答案写下来,这样你就可以把它标记为接受。除非我遗漏了什么,不接受字符串inputs@excaza:我添加了一个定义来说明这一点