각 요소에 벡터를 액세스하는 데 필요한 다양한 좌표가 포함 된 셀 목록이 있습니다. 예를 들어,셀 및 벡터 작업을 처리하는 더 빠른 방법을 찾고
C ={ [1 2 3] , [4 5], [6], [1 8 9 12 20]}
이것은, 실제 경우에, C는 각각의 요소 (1) (1000) 요소의 벡터를 포함, 10^4 ~ 10^6 크기의 단지 일례이다. 각 요소를 좌표로 사용하여 벡터의 해당 요소에 액세스해야합니다. 여기 X는 10000 개 요소의 큰 벡터는 셀 요소
for n=1:size(C,1)
x = mean(X(C{n}));
% put x to somewhere
end
에 의해 지정된 벡터 요소의 평균 값을 찾기 위해 루프를 사용하고 있습니다. 루프를 사용하는 것은 괜찮지 만 루프를 사용하지 않고 같은 일을하는 방법이 있는지 궁금합니다. 내가 위의 코드를 요구하는 이유는 여러 번 실행해야하고 lopp를 사용하는 것은 꽤 느리다.
는 인덱스를 의미합니까? 그리고 그것은 C의 각 셀에 대해'x (n) '이되어서는 안됩니까? 그리고 아마도 루프는 -'n = 1 : size (C, 2)'일 수도 있습니다. 'n = 1 : numel (C)'가 더 좋을지도 모릅니다. – Divakar
또한 내가 물어 보도록 - 얼마나 큰 C에서 가장 큰 세포가 될 수 있을까? 예를 들어, 여기에 주어진 샘플에서, 그것은 마지막 셀에있는'5'입니다. – Divakar
코드를 프로파일 링하고 실제 병목 현상이 무엇인지 확인하는 것이 좋습니다. – bdecaf