Do calculations for certain hours in a 3D array

1 次查看(过去 30 天)
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