14

の省略形を書きたい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.
4

1 に答える 1

21

解決策は次のとおりです。

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

{:}セル配列は、構文を使用してコンマ区切りのリストに展開されます。

匿名関数を使用したショートカットは

fp = @(str, varargin) fprintf(str, varargin{:});
于 2012-09-24T04:21:59.413 に答える