간단한 1 차원 데이터 벡터의 이동 평균 계산은 간단합니다. 없이MATLAB에서 계산 실행 평균
당신은 실행 평균을 찾기 위해 필터를 사용할 수는 루프를 사용하여 : 사실, FILTER에 대한 MATLAB 문서를 행복하게 같은 것을 주장하고있다.
D = [1:0.2:4]';
windowSize = 3;
F = ones(1,windowSize)/windowSize;
Df = filter(F,1,D);
는 그 결과 내 목적을 위해
, 짜증나는 두 가지가 있습니다이 예는 3의 창 크기를 사용하여 16 요소 벡터의 실행 평균 발견 이 결과에 관한 사항 : 출력 포인트 n은 입력 포인트 n- (windowSize-1) .. n의 평균입니다 (즉, 수평 시프트에 의해 입증 된 중심 맞춤이 없음). 그리고 사용 가능한 데이터의 왼쪽에있는 포인트는 0으로 처리됩니다.
FILTFILT은 두 가지 문제를 모두 다루지 만 다른 단점이 있습니다. 이것은 Signal Processing Toolbox의 일부이며, NaN을 다루지 않습니다 (평균에서 제외하고 싶습니다).
Somepeople FEX에서 분명히 같은 좌절감을 겪었지 만,이 간단한 것은 사용자 정의 코드가 필요하다는 것이 이상한 것처럼 보입니다. 여기에 놓친 게 없니?
'filtfilt'는 다른 Signal Processing Toolbox 기능에 의존하지 않으며 m 코드입니다. 따라서 코드에 복사하여 붙여 넣기 만하면 필요에 맞게 변경할 수 있습니다. – Mikhail
SP 도구 상자를 소유하고 있지 않은 저작권에 대해 확실하지 않습니다. 내 직감은 이것이 불법 일 것이라고 알려줍니다. – Jonas