0

1970 年から 2003 年までの 1 時間ごとの降水量の時系列があります。計算したいのは次のとおりです。

  1. n 時間値、n = 2、3、6、12、24 & 48 時間。24 時間雨量データは、1 時間データを 24 回連続して累積することで計算できます。同様に、48 時間の降雨量は、2 日間の降雨量を加算することで計算できます。

  2. n 時間の時系列から、各年の最大降雨量を計算したいと思います。

同様に、他の累積期間についても計算できます。ただし、年間n時間雨量情報の最大値から算出できるn時間データ(集計時系列)からの年間最大雨量値の算出方法についてご提案が必要です。たとえば、1970 年から 2003 年まで、2、...24 時間に対応する 34 の年間最大値と、48 時間に対応する 19 の年間最大値を抽出したいと考えています。ここでサンプル データセットを見つけてください。

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

最初、2 番目、3 番目、4 番目の列は、それぞれ年、月、日、および値を示します。

私はこのコードを試しました:

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 では、実行中に以前の年の値も格納されます。行列 Ann_Max で各年の最大 n 時間値の配列を取得したいと考えています。

4

0 に答える 0