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

标签 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.

最佳答案

解决方法是:

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

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

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

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

关于Matlab - 将 varargin 传递给接受可变数量参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12558819/

相关文章:

java - Java 中的 MATLAB 函数

matlab - 查找元胞数组中的元素(逻辑 0 或 1)

matlab - 如何消除使用 'area' 函数的 MATLAB 图形中的奇怪水平线?

matlab - 为什么这个 MATLAB 'if' 语句不起作用?

matlab - 在编译命令中设置mex文件的输出目录

matlab - 在结构体元胞数组中查找值

matlab - MATLAB 中的输入

matlab - 如何在 MATLAB 中创建具有 [1 2 5 6 9 10 13 14 17 18 ....] 模式的向量?

python - 几个matlab图像处理函数的等效python函数

用于高斯函数的 Matlab FFT