나는 각 연도의 24 개 값 (각 시간당 하나의 값)을 포함하는 행렬 A
을 가지고 있습니다. A
의 각 열은 다른 요일이며 매일 24 행의 데이터가 있습니다 (A
은 24 x 365 임). 나는 매일의 시간 데이터를 비교함으로써 서로를 비교하려고한다. 이렇게하기 위해 데이터 한 열을 가져 와서 다음 열과 비교합니다. 두 열의 각 시간 데이터의 차이를 가져 와서 정사각형으로 합쳐서 이틀간의 유사도를 나타내는 단일 값을 얻습니다. 그런 다음 가능한 모든 조합으로이 작업을 수행하여 365 x 365 행렬 d
을 작성하여 각 날이 서로 얼마나 유사한지를 나타냅니다. 예를 들어, 요소 d(20,100)
은 연도의 20 번째 날이 100 번째와 얼마나 비슷한 지 나타내는 값을 포함합니다. 코드는 작동하지만 아주 느리고 벡터화 할 수 있기를 원합니다. 도움말 크게 감사하겠습니다.Matlab에서 double for loop를 벡터화하기
for j=1:365
for k=1:365
d(j,k)=sqrt(sum((A(:,j)-A(:,k)).^2));
end
end