structures, cells or high dimensional arrays
이전 댓글 표시
Dear all,
I have to deal with arrays of dimension 4 or 5. So far, I can only think of 3 ways to represent such arrays.
- Using matrices only, the representation of the i-j-k-l-m can be written as A(i,j,k,l,m)
- using structures, it would be A(i).V(j,k,l,m)
- finally using cells, it is A{i}(j,k,l,m)
My problem is that I have non-vectorizable loops around those elements and I was wondering 1) which one of those representations has the greatest speed, 2) whether there are more efficient representations and 3) whether it is possible to accelerate operations involving such arrays.
Thanks, Patrick
채택된 답변
추가 답변 (1개)
Patrick Mboma
2013년 6월 24일
0 개 추천
댓글 수: 1
Sean de Wolski
2013년 6월 24일
편집: Sean de Wolski
2013년 6월 24일
passing P, passes a reference to P and does not make a memory copy. Indexing into P using P(:,:) copies the memory into a new array. You can see this by:
Opening the task manager (Windows) and looking at performance -> physical memory usage.
Then run:
A = magic(10000);
You'll see a jump in memory. If you then run:
B = A;
No change, since B is merely a reference to A.
C = A(:,:)
It jumps again.
카테고리
도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!