私は入力としてベクトルを持つ関数を持っています。前のステップの出力を使って各要素に関数を適用したいと思います。私はforループを実装しています:関数を使ったforループのOctave/Matlabベクトル化
function res = myFunc(F)
if (numel(F) == 1)
res = F(1);
return;
end;
B = F(1);
for idx = 2:numel(F)
B = procAcc(F(idx),B);
res = B;
end
関数procAccは2つのパラメータをとり、出力を生成します。つまり、入力がベクトル(f1、f2、f3)ならば、関数procAcc(f1、f2)を最初に適用し、結果(res)を生成し、次のステップで関数procAccを適用します最終的な結果が得られます。私の質問は、Matlab(またはOctave)がforループをスキップできるベクトル化手法をサポートしているかどうかです。
'myFunc'ではなく' procAcc'をベクトル化する必要があります。 – excaza