MATLAB Answers

Smooth data to get the best approximation.

5 views (last 30 days)
Hello everyone, I was wondering if anyone knows how I could process the input data in such a way as to obtain something similar to what I show in smooth data. The points marked in red and blue correspond to the change points when using the ischange tool
cI = ischange(YY,'MaxNumChanges',1);
scatter(XX(cI),YY(cI),'filled')
I include an attached data with the points shown in the graph being XX and YY the input data (the ones I intend to modify) and the XSmooth, YSmooth data the ones I intend to get.
I've tried with the methods include in the smoothdata function but i couldn't get the result i expected
methods = {'movmean','movmedian','gaussian','lowess','loess','rlowess','rloess','sgolay'};

  0 Comments

Sign in to comment.

Accepted Answer

hosein Javan
hosein Javan on 12 Aug 2020
I used curve fitting app you can workaround and change settings to get your result.

  6 Comments

Show 3 older comments
hosein Javan
hosein Javan on 12 Aug 2020
another method I'm thinking that your signal is full of noise. instead of curve fitting you can refer to signal processing toolbox see if there is a tool for cleaning up and denoising signals. consult with a communication expert. they can help you with frequency analysis. hope that helped.
Alejandro Fernández
Alejandro Fernández on 14 Aug 2020
Ok, thank you so much for all your help :D

Sign in to comment.

More Answers (1)

Bruno Luong
Bruno Luong on 14 Aug 2020
Here is what my ftting tool gives
load('InputData_SmoothData.mat')
pp=BSFK(XX,YY); % FEX file
plot(XX,YY);
plot(XX,ppval(pp,XX),'r');
legend('raw data','BSFK fitting')

  0 Comments

Sign in to comment.

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!