Find minimum value in matrix and test for symmetry
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
kowshik Thopalli
2017 年 3 月 8 日
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)
採用された回答
Jan
2017 年 3 月 8 日
編集済み: Jan
2017 年 3 月 8 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Dates and Time についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!