Interpolating random values to smoothen a curve

7 次查看(过去 30 天)
I need to smoothen curve on this graph and remove the noise in it.I can either use interpolation or curve fitting. I am not able to do it using curve fitting toolbox.How can I do it..??

采纳的回答

TADA
TADA 2019-7-22
you can implement the stavisky golay filter
basically the idea is to iterate through the data and on each point perform a polynomial fit on a window of several data points arround it, then each point is reoplaced with the value of the polynomial fit in that same point.
  2 个评论
Abhiraj Gupta
Abhiraj Gupta 2019-7-23
Thank you !
order=1;
framelen =3;
for i=1:100
if(i==1)
y = sgolayfilt(data,order,framelen);
else
y = sgolayfilt(y,order,framelen);
end
end
this is giving perfect and smooth curve
TADA
TADA 2019-7-23
In that code you apply the smoothing 100 times on the entire data
This is very intense and it will probably damage your signal
I would apply the smoothing once, but I would use a larger frame
I would also use a higher order fit

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by