여러 벡터를보다 빠르게 컨버팅하는 방법을 찾는 데 문제가 있습니다. 모든 벡터의 길이는 M이므로이 벡터들은 (N
, M
)의 행렬 (A
)으로 결합 될 수 있습니다. N
은 벡터의 수입니다.MATLAB에서 다중 벡터 컨벌루션 속도를 높이려면 어떻게해야합니까?
가 지금은 모든 벡터를 컨 볼브하기 위해 아래의 코드를 사용하고 있습니다 : 그것은 자주 호출되기 때문에
B=1;
for i=1:N
B=conv(B, A(i,:));
end
나는이 코드 조각을 발견 한 것은 내 프로그램에서 속도 제한 단계가된다. 제 질문은이 계산을 더 빨리 수행 할 수있는 방법이 있습니까? M
은 소수 (예 : 2)라고 간주하십시오.
N은 얼마나 큽니까? 크기가 크다면 (10000), B 벡터는 시간이 지남에 따라 커지기 때문에 속도가 느려집니다. – Lazarus
내 응용 프로그램의 경우 N은 일반적으로 그다지 크지 않지만 (100 미만), 시간이 지남에 따라 B가 커지는 것은 사실입니다. 나는이 경우에 B가 어떻게 공간을 미리 할당 할 수 있는지 아직 모른다. – Kanzy