Azzera filtri
Azzera filtri

How to smooth the data using the MATLAB?

1 visualizzazione (ultimi 30 giorni)
Hi
I was trying to smaooth the data using smooth function but not able to manage. can some experties help me. the data is attached here.
Thank you in advance!

Risposta accettata

KSSV
KSSV il 9 Giu 2022
T = readtable('https://in.mathworks.com/matlabcentral/answers/uploaded_files/1026350/data.txt');
x = T.Var2 ;
y = T.Var1 ;
yy = smooth(x,y,20) ;
plot(x,y,'r',x,yy,'b')

Più risposte (1)

Image Analyst
Image Analyst il 9 Giu 2022
Here are some options. Median filter medfilt1 and Savitzky Golay filter sgolayfilt. Adjust window widths as desired.
data = readmatrix('data1.txt')
x = data(:, 2);
y = data(:, 1);
plot(x, y, 'b-', 'LineWidth', 2);
grid on;
xlabel('x', 'FontSize', 20);
ylabel('y', 'FontSize', 20);
% Smooth the data
smoothedMedian = medfilt1(y, 79);
hold on;
plot(x, smoothedMedian, 'g-', 'LineWidth', 4);
smoothedSG = sgolayfilt(y, 2, 201);
hold on;
plot(x, smoothedSG, 'r-', 'LineWidth', 3);
legend('Original', 'Median', 'Savitzky-Golay')
  1 Commento
Somnath Kale
Somnath Kale il 9 Giu 2022
@Image Analyst Thank You for you little advance smoothing functions information! I will look to that as well.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by