Remove a part of data and replace it with data to fit trend

조회 수: 2 (최근 30일)
VISHNURAJ SREERAJ NAIR
VISHNURAJ SREERAJ NAIR 2022년 1월 9일
댓글: Hiro Yoshino 2022년 1월 11일
Hello, can some one please help me with the removal of data in the photo. I tried all the outlier removals, smooth data and conventional funtions, but it is unable to detect.

답변 (1개)

Hiro Yoshino
Hiro Yoshino 2022년 1월 10일
Try this. It removes the dent you see in the plot. Please note this also affect the both edges of the profile.
[cleanedData,outlierIndices,thresholdLow,thresholdHigh] = filloutliers(slip1,...
"linear","movmean",29000,"ThresholdFactor",1,"SamplePoints",T1);
It would also be a good idea to detrend first and then find the outliers by using isoutlier.
  댓글 수: 1
Hiro Yoshino
Hiro Yoshino 2022년 1월 11일
I found a better solution.
  1. decompose the profile into long-term, short-term and roughness profiles.
  2. detect outliers in roughness and replace them with other values (linear interpolation in this case)
  3. re-compose the new roughness back to the long and short profiles together
Here's the code:
[LT, ST, R] = trenddecomp(slip1);
plot(T1,LT,T1,ST,T1,R);
[Rnew,outlierIndices,thresholdLow,thresholdHigh] = filloutliers(R,...
"linear","quartiles","SamplePoints",T1);
slip1New = Rnew + LT + ST;
plot(T1,spring1,T1,slip1New);

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by