Matlab - 将varargin传递给接受可变数量参数的函数

时间:2012-09-24 04:21:59

标签: matlab

想要为fprintf(..)撰写简写。

varargin是一个单元格数组。那么如何将其传递给fprintf(..)?后者只接受可变数量的数组。

以下不起作用:

function fp(str, varargin)
    fprintf(str, varargin);
end

给予

Error using fprintf
Function is not defined for 'cell' inputs.

Error: Unexpected MATLAB expression.

1 个答案:

答案 0 :(得分:17)

解决方案是:

function fp(str, varargin)
    fprintf(str, varargin{:});
end

使用{:}语法将单元格数组扩展为以逗号分隔的列表。

使用匿名函数的快捷方式是

fp = @(str, varargin) fprintf(str, varargin{:});