Borrar filtros
Borrar filtros

how to fit linear trend in time series

60 visualizaciones (últimos 30 días)
devendra
devendra el 26 de Abr. de 2014
Comentada: Star Strider el 21 de Abr. de 2017
i have this time series liner fitted figure but i plotted this figure with the help of matlab tool box((basic fitting)(liner fit)) but i want to do same thing from matlab code.thank you in advance.

Respuesta aceptada

Star Strider
Star Strider el 26 de Abr. de 2014
Editada: Star Strider el 27 de Abr. de 2014
See if this does what you want:
% Create Data
yrs = linspace(1,100,100);
rainfall = 0.3*yrs + 350*rand(1,100);
% Fit Data
b = polyfit(yrs,rainfall, 1);
fr = polyval(b, yrs);
% Plot Data & Fit
figure(1)
plot(yrs, rainfall, '-b')
hold on
plot(yrs, fr, '-r')
hold off
h1 = legend('Data', 'Linear', 'Location','NE')
set(h1, 'FontSize',8)
[xlim ylim]
textposx = diff(xlim)*0.50+min(xlim);
textposy = diff(ylim)*0.95+min(ylim);
text(textposx,textposy, sprintf('y = %.2f*x %c %0.2f', b(1), char(45-(sign(b(1))+1)), abs(b(2))), 'FontSize',8)
xlabel('Years')
ylabel('Rainfall (mm)')
EDIT — Added textposx and textposy.
  6 comentarios
Muhammad Usman Saleem
Muhammad Usman Saleem el 21 de Abr. de 2017
@Star Strider I have plot my timeseries plot through this method
myfile=load('time.txt');
xx = myfile(:,2);
dataa=myfile(:,1);
x=xx.';
ts1 = timeseries(x,1:length(x));
ts1.Name = 'Daily Count';
ts1.TimeInfo.Units = 'days';
ts1.TimeInfo.StartDate = '01-Jan-2003'; % Set start date.
ts1.TimeInfo.Format = 'mmm dd, yy'; % Set format for display on x-axis.
ts1.Time = ts1.Time - ts1.Time(1); % Express time relative to the start date.
plot(ts1)
How can i use ploy fit against the time and ts1.Data? My data is a vector but date is in date format. Can you tell me how?
Star Strider
Star Strider el 21 de Abr. de 2017
You need to convert the dates and times to date numbers using the datenum function. Use polyfit with 3 outputs so that it will do centring and scaling. Be sure to include all the outputs in your polyval call as well. Use the datetick function to plot the x-axis as the dates and times you want.

Iniciar sesión para comentar.

Más respuestas (1)

dpb
dpb el 26 de Abr. de 2014
p=polyfit(y,x);
doc polyfit % for more details
doc polyval % to evaluate

Categorías

Más información sobre Calendar en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by