Effacer les filtres
Effacer les filtres

problem with detrending data

8 vues (au cours des 30 derniers jours)
Ghazal Hnr
Ghazal Hnr le 29 Mar 2017
Commenté : Star Strider le 31 Mar 2017
Hi, I wrote the code below to remove trends :
%%Removing trends without using detrend code
t = length(pass);
y = pass;
[r m b] = regression(t,y);
for t_pass = 1:t
y_pass(t_pass) = m * t_pass;
res(t_pass) = pass(t_pass) - y_pass(t_pass);
end
figure(3)
plot(y_pass)
but it isn't correct and I get wrong answer. would anyone help to how I should change this code to detrend my data?
  2 commentaires
Rik
Rik le 30 Mar 2017
You are only plotting y_pass. Was that your intention, or should you plot res against y_pass?
BTW, it might be helpful to attach a sample of your data, as the succes of de-trending depends enormously on what data you put in.
Ghazal Hnr
Ghazal Hnr le 30 Mar 2017
Modifié(e) : Ghazal Hnr le 30 Mar 2017
I want to remove trends and plot my detrended data or calculate mean of it to show that I removed trends. Using detrend code I reached to this:

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 30 Mar 2017
Try this:
t = 0:50; % Create ‘t’
y = sin(2*pi*t/5)+5 + t/5; % Create ‘y’
b_orig = polyfit(t,y,1); % Fit Linear Regression
y_detrend = y - polyval(b_orig, t); % Detrend Data
b_dt = polyfit(t,y_detrend,1);
figure(1)
plot(t, y,'-b', t,polyval(b_orig,t),'--r')
hold on
plot(t,y_detrend, '-k', t,polyval(b_dt,t),'--r')
hold off
See the documentation for the legend function to understand how to add the legend to your plot.
  4 commentaires
Ghazal Hnr
Ghazal Hnr le 31 Mar 2017
Thank you for your time.
Star Strider
Star Strider le 31 Mar 2017
My pleasure.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by