Simple Question about Optimization of Nested IF-FOR loops
    9 views (last 30 days)
  
       Show older comments
    
Does any one know how to optimize this code so that it runs faster:
 for i=1:iNZ;
        if iPointsinSlice>0;
            for m=1:iNX;
                for l=1:iNY;
                    if SliceMaskUr(m,l)==1;
                        DoseCubeU(m,l,i)=100*SumDose(m,l,i)/RX_Dose;
                    end
                end
            end
        end
    end
Thanks a lot!
0 Comments
Answers (1)
  Kye Taylor
      
 on 18 Jun 2013
        First of all, it appears that each time through the outer-most loop (the first one), the variable iPointsinSlice does not change. Therefore, you can simplify to
for i=1:iNZ;
  for m=1:iNX;
    for l=1:iNY;
      if SliceMaskUr(m,l)==1;
        DoseCubeU(m,l,i)=100*SumDose(m,l,i)/RX_Dose;
      end
    end
  end
end
but i bet you actually mean to have some expression that depends on i execute before the loop that iterates over m.
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
