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

New to MATLAB?

Simple Question about Optimization of Nested FOR loops

Asked by Mohsen

Mohsen (view profile)

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

Mohsen (view profile)

Products

2 Answers

Answer by Andrei Bobrov

Andrei Bobrov (view profile)

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

0 Comments

Andrei Bobrov

Andrei Bobrov (view profile)

Answer by Mohsen

Mohsen (view profile)

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

Mohsen (view profile)

Contact us