Calculating trend rate of change
    10 ビュー (過去 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 件)
参考
カテゴリ
				Help Center および File Exchange で Annotations についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

