nested for loop
Show older comments
I was wondering if there was a way to write nested loops so they are more efficient. For example:
for a = 1:1:100
for b = .5:.1:3
x = bestfitfun(a,b);
end
end
the bestfitfun is a function that runs if statements and really isn't a bottleneck. Any suggestions would be greatly appreciated.
Thank you!
1 Comment
per isakson
on 16 Apr 2012
in the signature of bestfit are a and b assumed to be scalars?
Answers (1)
Pavel Gorodetsky
on 15 Jun 2012
if nesting is an issue, you can use one loop only:
a = 1:1:1000;
b = .5:.1:3;
N = length(a)*length(b);
[A,B] = meshgrid(a,b);
for ii = 1:N
x = bestfitfun(A(ii),B(ii));
end
of course, as per isakson implies, if your bestfitfun could take vectors as an input, and work in some vectorized form, you could loose the two loops altogether:
a = 1:1:1000;
b = .5:.1:3;
x = bestfitfun(a,b);
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!