Calculating trend rate of change
32 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I'm currently analysing a time series of data (see code below). I've fitted a trendline into it but I would like to calculate its rate of change per year. Any ideas how can it be done?
Thanks in advance,
Maja
%script to plot year-by-year data points for the full basin, fit a
%trendline and test it for significance with Mann-Whitney U test
%load data
data=readtable('Mydata.csv');
%define variables
year=data{:,1};
wind=data{:,8};
figure (1)
plot(year,wind,'b','LineWidth',1.2)
xlabel('\bf Year')
ylabel('\bf Wind speed (m/s)')
grid on
hold on
%fit a trendline to the data
wind_coeff=polyfit(year,wind,1);
wind_trend=polyval(wind_coeff,year);
plot(year,wind_trend,'r--','LineWidth',1.2);
%this bit tests the trend for significance with Mann-Whitney
%if p is very small and h=1, trend is significant
[p,h]=ranksum(year,netwind);
0 个评论
采纳的回答
Bart Kieviet
2021-1-26
编辑:Bart Kieviet
2021-1-26
3 个评论
Bart Kieviet
2021-1-26
If I understand correctly you have a year-by-year numbers, so say:
year = [2010, 2011, 2012, 2013];
wind = [10, 15, 5, 16];
if I run diff, I get:
df = diff(wind); % [5, -10, 11]
I could use mean to get the average:
mean( df ); % 2
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!