2013-05-28 3 views
0

나는 벡터 값이 A이고 값이 400인데 B에는 100 개의 값이 필요하다. 모든 값은 A에있는 해당 값의 평균값이다. 예를 들어, B의 첫 번째 값은 A의 첫 번째 -4 번째 값의 평균이고, B의 두 번째 값은 A의 다섯 번째 - 8 번째 값의 평균입니다. MATLAB에서 어떻게하면됩니까?다른 방법으로 벡터를 계산하려면 어떻게해야합니까?

대단히 감사합니다!

답변

4

A이 400x1 벡터 인 경우 열을 4 개 포함하는 행렬에 reshape을 입력하고 mean을 적용 할 수 있습니다.

A_means = mean(reshape(A(:), 4, [])); 

달리 지정되지 않은 경우 mean는 열 함께 작동하기 때문에이 작동합니다.

+1

가 대단히 감사합니다 : 그것은 또한 작동 할 수 있도록 벡터 넷의 정확한 배수가 아닌 경우

나는 그것을 조금 확대! – Jorgejuan3452

1

다음은 대체 솔루션입니다.

A = 1:399; 

B = NaN(4,ceil(length(A)/4)); 
B(1:length(A))=A; 
nanmean(B) 
관련 문제