How to get daily minimum value of temperature from a three dimensional matrix?

1 view (last 30 days)
Let us say we have a matrix (say 'a') with 129x135x721 dimension.i.e.lat x lon x time... time is 720 (24*30)for hourly data for one month values. Suppose this data is temperature data. Now i need to know at what time of the day temperature is minimum.So for that, first i need to find mean value of temperature at all 1 o'clock,2,3,4 all 24 hr. i.e.,mean of (1:25:720) Similarly mean of (2:26:720) and so on. Then finally for each lat,lon we get 24 values now, or we will get a final matrix of 129x135x24 and from this i need to find the minimum value time. Please help me how to to do it

Accepted Answer

Matt J
Matt J on 18 Jul 2016
Edited: Matt J on 18 Jul 2016
Make your array 4-dimensional,
a=reshape(a, 129,135,24,30);
hourlymeans=mean(a,4);
[~,minhour]=min(hourlymeans,[],3);
  2 Comments
trailokya
trailokya on 18 Jul 2016
I also need the hourly means matrix that should be 129*135*24 But I am not getting this by running the above codes...
Matt J
Matt J on 18 Jul 2016
Works fine for me,
>> a=rand(129,135,24,30);
>> hourlymeans=mean(a,4); whos hourlymeans
Name Size Bytes Class Attributes
hourlymeans 129x135x24 3343680 double

Sign in to comment.

More Answers (1)

KSSV
KSSV on 18 Jul 2016
T = rand(129,135,721) ;
Min = zeros(721,1) ;
for i = 1:721
Ti = T(:,:,i) ;
Min(i) = min(Ti(:)) ; % Minimum value at evry time step
end
[val,idx] = min(Min) ;
  1 Comment
trailokya
trailokya on 18 Jul 2016
First i need the hourly average values (say for the whole month). The final matrix should be 129*135*24...how is it possible Sir?

Sign in to comment.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!