【发布时间】:2016-10-07 18:02:50
【问题描述】:
我有一个函数,它有一个向量作为输入,我想用上一步的输出对每个元素应用一个函数。我已经实现了一个 for 循环:
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 接受两个参数并产生一个输出。也就是说,如果输入是一个向量 (f1, f2, f3),我首先应用函数 procAcc(f1,f2),它会产生一个结果 (res),然后在下一步中应用函数 procAcc (a3,res ) 产生最终结果。我的问题是 Matlab(或 Octave)是否支持允许我跳过 for 循环的矢量化方法。
【问题讨论】:
-
你需要矢量化
procAcc,而不是myFunc
标签: matlab function octave vectorization