동일한 크기의 두 개의 (큰) 벡터 a=[0 0 0 0 0]
과 b=[1 2 3 4 5]
과 {1, ..., length (a)}의 값을 가진 하나의 인덱스 벡터 ind=[1 5 2 1]
이 있다고 가정 해 봅시다. 내가 즉서브 어레이의 벡터화 추가
for k = 1:length(ind)
a(ind(k)) = a(ind(k)) + b(ind(k));
end
% a = [2 2 0 0 5]
계산 싶습니다, 나는 다양성을 포함 a
에 ind
선언 b
의 해당 항목을 추가 할 수 있습니다.
a(ind)=a(ind)+b(ind);
% a = [1 2 0 0 5]
은 물론 더 빠르며 여러 번 나타나는 색인을 무시합니다.
어떻게 위 코드를 빠르게 할 수 있습니까?
여러 번 나타나는 색인에 대해 예상되는 동작은 무엇입니까? 이 색인에 한 번만 추가 하시겠습니까? – drorco
아니요, 자주 나타나는대로 색인을 추가하고 싶습니다. 위의 for 루프와 같습니다. – Julian
왜 나는 (ind) + b (ind)가 여러 번 나타나는 인덱스를 무시하는지 이해하지 못합니다. – GameOfThrows