Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Simple Question about Optimization of Nested FOR loops

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

0 Comments

Mohsen

Products

2 Answers

Answer by Andrei Bobrov on 14 Jun 2013
B = zeros(X,Y,Y);
B(:,1,:) = permute(C.*(A == 1),[1,3,2]);
B = B(:);

0 Comments

Andrei Bobrov
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

Mohsen

Contact us