Curve smoothing using Matlab

2 vues (au cours des 30 derniers jours)
Shalini
Shalini le 6 Avr 2012
Commenté : Samuel Suakye le 6 Juin 2017
I have got an experimental curve which is a bit wavy (curve has a lot of noise and hence is wavy).
I want to smoothn the curve using Matlab.
Can anyone advise the best tool in Matlab for this?
I wanted to attach the plot of curve which needs to be smoothened but couldn't find a way to attach it here.
shalini

Réponses (3)

Jonathan Sullivan
Jonathan Sullivan le 6 Avr 2012
help filter
doc filter
  1 commentaire
Shalini
Shalini le 6 Avr 2012
Do you mean:
yy = smooth(y)
where; yy is the smoothed vector? And, y is the dependent variable (of the curve) that needs to be given?

Connectez-vous pour commenter.


Richard Willey
Richard Willey le 6 Avr 2012
I have a function called FitIt on the file exchange that might prove useful.
FitIt combines
Local regression (to smooth your data set) Cross validation (to estimate an optimal spanning parameter) Bootstrap (to generate confidence intervals)
FitIt has dependencies on both Curve Fitting Toolbox and Statistics Toolbox.
  4 commentaires
Taymaz Tek
Taymaz Tek le 9 Juin 2012
Hi everybody,
I had been trying to use your function, fitit, in my own problem but it didn't work well. In the case of your demo, it is quite ok but when I try to run it with my signal, there is an error:
??? Error using ==> horzcat
CAT arguments dimensions are not consistent.
Error in ==> fitit at 21
sse(j) = sum(crossval(f,[X,Y],'partition',cp));
can you please let me know where this can be driven?
Taymaz Tek
Taymaz Tek le 9 Juin 2012
Thanks in adavnce

Connectez-vous pour commenter.


Sean de Wolski
Sean de Wolski le 9 Avr 2012
How about smooth() :)
doc smooth
  3 commentaires
Sean de Wolski
Sean de Wolski le 9 Avr 2012
If you run:
doc smooth
at the command line it will tell you all about the SMOOTH function, (well as long as you have a somewhat recent version of MATLAB with the Curve Fitting Toolbox)
Samuel Suakye
Samuel Suakye le 6 Juin 2017
figure clear; clc; delta=[0.0259, 0.0518, 0.0776, 0.1035, 0.1293]*10; %delta=0.01:0.09:0.5; delta1=0.01:0.1:0.5; hbar=6.5821220*10e-16; k=8.617385*10e-5; T=300; d=[100 150 200]*10e-10; m = 9.1093897*10e-31; v = 2.8*10e8; c = 3.0*10e8; wp = 10e12; w = 0.7071; gamma = (1-((v^2)/(c^2)))^-0.5; delta2= delta1./(k*T); %% figure hold on for i = 1:length(d) wo=(wp^2*m*d(i)^2*delta1.*besseli(1,delta2))./(hbar^2*besseli(0,delta2)).^(0.5); delta3=delta./(k*T); therta = asind(1-(w.^2./wo.^2)).^0.5; wb = gamma.*wo.*cosd(therta); %wb^2=2 rho=(hbar^2.*2.*besseli(0,delta3))./(wp^2*m*d(i)^2*k*T.*delta3.*besseli(1,delta3)); plot(delta3,rho,'LineWidth',1.5) end %% xlabel('\Delta^*') ylabel('E_b/E_s') hold on grid on All comments are not working for my codes above

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by