필터 지우기
필터 지우기

problem with detrending data

조회 수: 8 (최근 30일)
Ghazal Hnr
Ghazal Hnr 2017년 3월 29일
댓글: Star Strider 2017년 3월 31일
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
Rik
Rik 2017년 3월 30일
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 2017년 3월 30일
편집: Ghazal Hnr 2017년 3월 30일
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:

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2017년 3월 30일
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
Ghazal Hnr
Ghazal Hnr 2017년 3월 31일
Thank you for your time.
Star Strider
Star Strider 2017년 3월 31일
My pleasure.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by