Interpolating random values to smoothen a curve

1 回表示 (過去 30 日間)
Abhiraj Gupta
Abhiraj Gupta 2019 年 7 月 22 日
コメント済み: TADA 2019 年 7 月 23 日
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..??
  1 件のコメント
KALYAN ACHARJYA
KALYAN ACHARJYA 2019 年 7 月 22 日
Please do share the code. so that members can try on 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 件)

カテゴリ

Help Center および File ExchangeGet Started with Curve Fitting Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by