MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Mohsen
on 14 Jun 2013

How can I optimize the following code in order to avoid the FOR loops so that it runs faster?

for i=1:X; for j=1:Y; if A(i,j)==1; B(i+(j-1)*Y*X)=C(i,j); end end end

Answer by Andrei Bobrov
on 14 Jun 2013

B = zeros(X,Y,Y); B(:,1,:) = permute(C.*(A == 1),[1,3,2]); B = B(:);

Answer by Mohsen
on 17 Jun 2013

The code that you have provided doesn't seem to work.

Does any one know how to optimize this code:

for i=1:iNZ; if iPointsinSlice>0; for m=1:iNX; for l=1:iNY; if SliceMaskUr(m,l)==1; DoseCubeU(m+(l-1)*iNX+i*iNX*iNY)=100*SumDose(m,l,i)/RX_Dose; end end end end end

Many thanks!

## 0 Comments