특정 가중치 합계를 벡터화하려고했지만 그 방법을 알 수 없습니다. 아래에 간단한 간단한 작업 예제를 만들었습니다. 나는 해결책이 bsxfun 또는 reshape와 kronecker 제품을 포함한다고 생각하지만, 나는 여전히 그것을 작동시키지 못했다.가중치 합계 벡터화 벡터화
rng(1);
N = 200;
T1 = 5;
T2 = 7;
A = rand(N,T1,T2);
w1 = rand(T1,1);
w2 = rand(T2,1);
B = zeros(N,1);
for i = 1:N
for j1=1:T1
for j2=1:T2
B(i) = B(i) + w1(j1) * w2(j2) * A(i,j1,j2);
end
end
end
A = B;
와우. 그것은 빨랐다. 이것은 완벽하게 작동합니다. 나는 bsxfun을 사용하려고 시도했지만 모양을 변경하지는 않았다. 고마워요! 나는 단지 6 분 만에 답을 수락 할 수있다. – phdstudent
나는 약간의 질문을 편집했다. 대답은 3 차원 합계에 대해 쉽게 일반화 될 수 있습니까? – phdstudent
@volcompt이 솔루션은 2D 가중치 질문에 적합하지만 3D 질문은 다른 짐승처럼 보입니다. 새로운 질문으로 이것을 받아들이는 것이 가장 좋습니다 (http://meta.stackexchange.com/a/43485/318672). – Suever