vectorized fzero function for Monte Carlo simulation
7 次查看(过去 30 天)
显示 更早的评论
I am run a Monte Carlo simulation with e.g. 1 million realizations and there is a zero searching using the fzero function in each loop. The code becomes very slow for 1 million loops. Is there a vectorized way for fzero? The code likes:
for i = 1:1e6
x(i) = fzero(fun, x0)
end
Is there a quick way like: x = vectorized_fzero(fun, x0) to improve the efficiency?
Thanks
0 个评论
回答(2 个)
Walter Roberson
2021-10-6
No.
However if you happen to know the derivative of the function or can construct it symbolically, then you can create a vectorized version of the Newton Raphson method.
Selection of which entries to process further can end up being more expensive than just processing all of the entries in some cases, depending on how expensive the function is.
The number of digits gain per iteration is known in theory so you can often put in a fixed upper limit on the number of iterations.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!