How to calculate daily, monthly climatology from time series ?
    15 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Jeevan Kumar Bodaballa
      
 el 11 de Mzo. de 2020
  
    
    
    
    
    Comentada: Ameer Hamza
      
      
 el 11 de Mzo. de 2020
            I have 10year series data with 1min resolution. I want to calculate daily, monthly climatology. 
I mean I want to see each month variations over 10yrs. 
Ex: Jan-2001+Jan-2002+.......+Jan-2010/10=result 
like I want to do for all months and days
0 comentarios
Respuesta aceptada
  Ameer Hamza
      
      
 el 11 de Mzo. de 2020
        You can convert your data into timetable and transform it to a different scale using retime function
% generating a random table with daily values
times = datetime('2020-01-01'):days(1):datetime('2020-01-30');
Table = timetable(times', rand(length(times), 1), rand(length(times), 1));
Table_weekly = retime(Table, 'weekly', 'mean'); % calculating weekly average
2 comentarios
  Ameer Hamza
      
      
 el 11 de Mzo. de 2020
				The same code will work with some modifications
% generating a random table with daily values
times = datetime('2011-01-01'):days(1):datetime('2019-12-30');
Table = timetable(times', rand(length(times), 1), rand(length(times), 1));
Table_monthly = retime(Table, 'monthly', 'mean'); % calculating weekly average
months_order = month(Table_monthly.Time);
all_month_sum = ...
    cell2mat(splitapply(@(x) {sum(x, 1)}, Table_monthly.Variables, months_order));
all_month_sum(months_order(1:12), :) = all_month_sum; % bringing January to top
This creates random data for 9 years and then sum the values for all years. Final matrix has the of 12 x n, where n is the number of columns of the initial dataset.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Climate Science and Analysis 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!