how to fit linear trend in time series

43 次查看(过去 30 天)
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.

采纳的回答

Star Strider
Star Strider 2014-4-26
编辑:Star Strider 2014-4-27
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 个评论
Muhammad Usman Saleem
@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 2017-4-21
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.

请先登录,再进行评论。

更多回答(1 个)

dpb
dpb 2014-4-26
p=polyfit(y,x);
doc polyfit % for more details
doc polyval % to evaluate

类别

Help CenterFile Exchange 中查找有关 Calendar 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by