Расчет кумулятивной суммы по данным почасовых осадков MATLAB

У меня есть почасовая серия дождевых осадков с 1970 по 2003 год. Я хочу рассчитать:

  1. n-часовые значения, n = 2,3,6,12,24 и 48 часов. 24-часовые данные об осадках могут быть рассчитаны путем накопления 24-часовых последовательных 1-часовых данных. Аналогично, количество осадков за 48 часов можно рассчитать, прибавив значения осадков за 2 дня.

  2. Из n-часовых временных рядов я хочу рассчитать максимальное количество осадков для каждого года.

Кроме того, я могу вычислить для других периодов накопления. Однако мне нужны предложения для расчета годового максимального значения количества осадков по n-часовым данным (агрегированным временным рядам), которые можно рассчитать по максимальному значению годовой n-часовой информации о количестве осадков. Например, с 1970 по 2003 год я хочу извлечь 34 значения годовых максимумов, соответствующих 2,...24 часам, и 19 значений годовых максимумов за 48 часов. Пожалуйста, найдите образец набора данных здесь:

https://docs.google.com/document/d/1e8g54c6KDw8lwdQ53xi0Bs9fJmasTqbIk2n4LbKA-gM/edit

Первый, второй, третий и четвертый столбцы показывают год, месяц, день и значения соответственно.

Я попробовал этот код:

ny_p = []; Ann_Max = [];grp_pr = [];
 for yr = 1970:1975
            i = yr - 1969;
            matched = ismember(Precip_Final(:,1), yr, 'rows');
            grp_pr = Precip_Final(matched,4); % extracting hourly value of the same year
            [nrow,ncol] = size(grp_pr);

        for row = 6:nrow % to get 6~ hourly sum
            p_new = sum(grp_pr(row-5:row));
            ny_p(end+1) = p_new;
        end
        Max_p = max(ny_p);
        Ann_Max = [Ann_Max;Max_p];
        clear matched; clear grp_pr; clear i; clear Max_p;
end   

Я отредактировал мой код. Теперь проблема в том, что в матрице ny_p значение предыдущих лет также сохраняется во время работы. Я хочу получить массив с максимальным n-часовым значением каждого года в матрице Ann_Max.

0 ответов

Другие вопросы по тегам