Faster than for loop?
显示 更早的评论
I presently have this code which tests a paricular function which I created _ _ [y n] function_gen1pdf1(a,b,c) _ _ for N times. Now this works fine up to N=100. However, I want it to work for N=100,000 but it's taking much too long to compute. Is it possible to vectorize it or make it work faster? Any suggestions are much appreciated!
N=100000;
y=zeros(N,1);
n=zeros(N,1);
for i=1:N; %testing the function for 100000 times
[y(i) n(i)]= function_gen1pdf1(2,3,0.5); %The function being tested
end
7 个评论
Star Strider
2015-2-7
Please post the function code!
Stephen23
2015-2-7
"Is it possible to vectorize it": this depends entirely on the function function_gen1pdf1. If you want help trying to vectorize this, then you have to upload its code too.
Geoff Hayes
2015-2-7
rox - I don't understand the line
[y(i) n(i)]= function_gen1pdf1(2,3,0.5);
You keep calling function_gen1pdf1 with the same set of inputs for every i. Why is the code repeating the same call at every iteration of the for loop?
Tapan
2015-2-7
I will echo everyone else's comments - you need to provide the function code. Perhaps try a parlor loop in the meantime.
Jan
2015-2-7
@Geoff: The "gen" in the name might mean a genetic algorithm, such that random effects can be the reasn for different results inspite of the same inputs.
Image Analyst
2015-2-7
Or maybe it generates a PDF document, or generates a probability distribution function. Whatever it does, apparently PDF does not mean "Pretty Darn Fast".
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!