저는 벡터 y와 벡터 x1, x2, ..., x50을 가지고 있습니다. 나는 각각의 x 벡터와 y를 상관 시키거나 컨볼 루션 할 필요가있다. 현재 FOR 루프에서이 작업을 수행하고 있지만 속도가 느리고 한 번에 수행 할 방법을 찾으려고합니다. This help page에는 여러 채널 (내가해야하는 것처럼 보임)과의 상관 관계에 대한 섹션이 있지만 자기 상관에 대해서만 이야기합니다. xcorr 함수를 벡터와 행렬 (x 벡터를 나란히 놓는 행렬)과 함께 사용하려고 시도했지만 작동하지 않습니다. 어떤 힌트?Matlab : 하나의 벡터를 다른 많은 벡터와 곱하거나 연관시키기
감사합니다.
'y_expanded = repmat (y, 1, 50); xc = xcorr (x, y_expanded)'(사실,'bsxfun (@xcorr, x, y)'가 트릭을 할 수 있다고 생각합니다.) 그것은 궁극적으로 벡터의 각 쌍에 대한 계산을 수행하는 궁극적으로 여전히 루프가 필요하다는 것을 확신하지 ... – wakjah
@wakjah xcorr (x, y_expanded)를 시도하면 "B는 반드시 있어야합니다. 벡터 "오류. 이 함수는 실제로 행렬을 인수로 받아 들일 수없는 것 같습니다. bsxfun은 "잘못된 출력 크기"오류를 표시합니다. xcorr이 사용할 유효한 함수인지 확실하지 않습니다. – Jordan
@Jordan 몇 개의 벡터가 있습니까? 벡터 중 하나를 행렬에 패딩하고 'FFT2'를 호출하여 컨볼 루션을 수행 할 수 있습니다. 그것은 기억의 낭비이지만 그만큼 빨리되어야합니다. – Justin