How to get daily minimum value of temperature from a three dimensional matrix?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
1 commentaire
Réponse acceptée
Matt J
le 18 Juil 2016
Modifié(e) : Matt J
le 18 Juil 2016
Make your array 4-dimensional,
a=reshape(a, 129,135,24,30);
hourlymeans=mean(a,4);
[~,minhour]=min(hourlymeans,[],3);
2 commentaires
Matt J
le 18 Juil 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
Plus de réponses (1)
KSSV
le 18 Juil 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) ;
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!