필터 지우기
필터 지우기

Simple Question about Optimization of Nested FOR loops

조회 수: 1 (최근 30일)
Mohsen
Mohsen 2013년 6월 14일
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

답변 (2개)

Andrei Bobrov
Andrei Bobrov 2013년 6월 14일
B = zeros(X,Y,Y);
B(:,1,:) = permute(C.*(A == 1),[1,3,2]);
B = B(:);

Mohsen
Mohsen 2013년 6월 17일
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!

카테고리

Help CenterFile Exchange에서 Problem-Based Optimization Setup에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by