は匿名関数@(varargin)varargin
は、単に、セルのアレイとして入力の可変数(varargin
)を受け入れ、varargin
inputs = cellfun(@(varargin)varargin, varargin{:}, 'UniformOutput', false);
の要素のそれぞれのエントリに対応するグループにcellfun
を使用する必要がこのセル配列を返します。これは、実際には機能よりも異なるません:
function v = func(varargin)
v = varargin;
end
したがって、たとえば:
varargin = {{1, 2, 3}, {4, 5, 6}};
inputs = cellfun(@(varargin)varargin, varargin{:}, 'UniformOutput', false);
% {{1, 4}, {2, 5}, {3, 6}}
そして、あなたはinputs
をループし、各セルの要素は、所与の反復のために、すべての入力が含まれますすることができます。 {:}
インデックスを使用してカンマ区切りリストを作成し、これをfunc
の入力として渡すことができます。
A = cell(size(inputs));
for k = 1:numel(inputs)
A{k} = func(inputs{k}{:});
end
このように、あなたがやる方法は... 'cellfun' ... 'cellfun'は何を提供しようとしていますか? – Suever
@Sueverそれはちょうどサンプルです、私のコードは何か異なるでしょう。 – saastn
私はそれを得る。しかし '?'を使って 'for'ループの中で行うことは' cellfun'です。 – Suever