최초의 요즘은 데이터의 중간에 있고 매년에 나타나지 때문에, 모든 2 월 29 일을 가지고 가고, 평균 귀찮게하자
Feb29=60+365*[1:4:32];
mean_Feb29=mean(GPH(:,:,Feb29),3); % A matrix of 95x38 with the mean of all February 29th
GPH(:,:,Feb29)=[]; % omit Feb 29th from the data
Last_Jan_1=GPH(:,:,end); % for Jan 1st you have additional data set, of year 2011
GPH(:,:,end)=[]; % omit Jan 1st 2011
re_GPH=reshape(GPH,95,38,365,[]);
av_GPH=mean(re_GPH,4);
이제
re_GPH
는 95x38x365의 행렬이다 3 차원의 각 슬라이스는 1 월 1 일 시작하는 연중 무휴입니다.
지난 1 월 1 일 (2011 년 1 월)을 포함 시키려면 이전 줄 다음에이 줄을 실행하십시오. 코드 :
av_GPH(:,:,1)=mean(cat(3,av_GPH(:,:,1),Last_Jan_1),3);
예를 들어, 지금
t1 = datetime(2011,1,1,'format','MMMMd')
t2 = datetime(2011,12,31,'format','MMMMd')
t3=t1:t2;
: 수 이하는 각 날짜에 해당 슬라이스 알의 편의를 위해
, 당신은 올해 모든 날짜의 배열을 할 수 있도록
t3(156)=
datetime
June5
av_GPH(:,:,156)
6 월 5 일의 평균입니다. 귀하의 코멘트를 들어
, 당신이 평균에서 하루를 빼려면 :
sub_GPH=GPH-repmat(av_GPH,1,1,32);
그리고 월 29 일에 대한
, 당신이해야 할 것이다 당신은 (데이터에서 3 호선을 삭제하기 전에 그곳에) :
sub_GPH_Feb_29=GPH(:,:,Feb29)-repmat(mean_Feb29,1,1,8);
이것은 이미 제가 응답 한 사본이 아닙니다. –
가능한 [Matlab의 지오 전위차 변이를 계산하는 방법] (https://stackoverflow.com/questions/47065739/how-to-calculate-anomalies-of-geopotential-height-in-matlab) –