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

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Matt J
Matt J il 18 Lug 2016
Modificato: Matt J il 18 Lug 2016
Make your array 4-dimensional,
a=reshape(a, 129,135,24,30);
hourlymeans=mean(a,4);
[~,minhour]=min(hourlymeans,[],3);
  2 Commenti
trailokya
trailokya il 18 Lug 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 il 18 Lug 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

Accedi per commentare.

Più risposte (1)

KSSV
KSSV il 18 Lug 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 Commento
trailokya
trailokya il 18 Lug 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?

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by