想为 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.
最佳答案
解决办法是:
function fp(str, varargin)
fprintf(str, varargin{:});
end
使用
{:}
语法将元胞数组扩展为逗号分隔的列表。使用匿名函数的快捷方式是
fp = @(str, varargin) fprintf(str, varargin{:});
关于Matlab - 将 varargin 传递给接受可变数量参数的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12558819/