我想矢量化以下循环:
for I=1:N
x = f(x);
end
其中 f 是自定义函数,即匿名函数。是否有像 arrayfun 这样的命令允许这样做?
编辑:向量化在这里可能是错误的词,应该使用优化。
我想矢量化以下循环:
for I=1:N
x = f(x);
end
其中 f 是自定义函数,即匿名函数。是否有像 arrayfun 这样的命令允许这样做?
编辑:向量化在这里可能是错误的词,应该使用优化。
我不检查代码,但也许:
x = arrayfun(@(y) f(x), 1:N);
arrayfun您可以将传递的向量的每个元素作为参数。在上面的示例中,y指的是 vector 的每个元素1:N,它也表示for您作为示例发布的循环的索引。在您的for循环中,您不使用索引,因此您可以在 中执行相同的操作arrayfun并在向量上执行您想要的操作:f(x)。最后,您可以将输出分配给x. 可能,通过您检索长度arrayfun输出的方式以及迭代中每个结果的结果。使用循环,您将在每次迭代中覆盖.xNf(x)forx
希望你对我的英语有所帮助和抱歉。