need repmat help
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello,
I have a 4D array with two for loops that is very slow. I know repmat is a good tool to speed things up but I am not very good at using it yet. Is there a way to use repmat to replace the follow set of for loops:
%th_diff3_1 has the following dimensions (621,1405,12,116)
for a = 1:621
for b = 1:1405
x = sum(th_diff3_1(a,b,:,:));
x = sum(x(1,1,:,:));
percent3_1(a,b) = (x/1390) * 100;
end
end
Please help me understand repmat!
Thanks,
Dan
댓글 수: 0
채택된 답변
Fangjun Jiang
2011년 9월 19일
It's not about repmat. I think you can do this:
x=sum(th_diff3_1,4);
x=sum(x,3);
percent3_1=(x/1390) * 100
댓글 수: 4
Jan
2011년 9월 19일
@Fangjun: Thanks, but I do not _know_ such details. I just try it taking into account that the calculations are performed by a processor. I've learned programming when efficiency was really important: on a ZX81 with 1kB RAM. It was possible to read the complete operating system in two afternoons.
Although Matlab has a higher complexity, the fundamental rules for efficiency did not change: Keep the data compact to avoid unneded operations.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!