Find minimum value in matrix and test for symmetry
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi. I have a 2160x6 matrix (attached). The columns represent: Year(1), month(2), day(3), hour(4), UVI(5),SZA(6).
The data is hourly and I need to find the minimum SZA value for every 24 (hours) for rows. Can I use something like this to find the minimum value?
a=CP_06_07DJF(1:24,6);
min1=min(a(:))
Then I need to test if the UVI values are symmetric about the point where the SZA is lowest and repeat this for everyday.
2 commentaires
kowshik Thopalli
le 8 Mar 2017
Looking at your data for the first few hours in every 24 hrs the value of SZA is zero. Could you tell us how would you define symmetry now?.
Yes the code that you have will give min value . using the below line will also give you the index at which the minimum value appears
[min1,index]= min(a)
Réponse acceptée
Jan
le 8 Mar 2017
Modifié(e) : Jan
le 8 Mar 2017
Date = datenum(CP_06_07DJF(1:3), 6); % Year, Month, Day
Value = CP_06_07DJF(:, 6);
G = findgroups(Date);
Min1 = splitapply(@min, Value, G);
Or if the data are dense (you get 24 values for each day and no additional hours:
Value = CP_06_07DJF(:, 6);
Min1 = min(reshape(Value, 24, []), [], 1);
This reshape the value to a [24 x N] matrix and finds the minimum along the first dimension.
The "symmetric" part is not clear to me. Can you post a small example?
5 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!