Do calculations for certain hours in a 3D array

조회 수: 1 (최근 30일)
Espen Mikkelsen
Espen Mikkelsen 2018년 3월 13일
답변: Rik 2018년 3월 13일
I have a 3D array with 30x50x8760. 30x50 is values from measurements. 8760 is measurements for every hour in one year. I also have a 8760x1 datetime array shown in, dd-MMM-yyyy HH:mm:ss. I want to do some calculations like f.eks the mean. There will be calculations for certain hours like 08:00:00, 09:00:00, 10:00:00 etc. How can I do this? The only way I know is to first make a 2D array from the 3D array, and make a table from the two arrays.

채택된 답변

Rik
Rik 2018년 3월 13일
You can use the hour function to get the submatrix with logical indexing.
temp=A(:,:,hour(date_vec)==8);
mean_val=sum(sum(temp,1),2)/(size(A,1)*size(A,2));

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Dates and Time에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by