trying to find highest values in a time segment
2 次查看(过去 30 天)
显示 更早的评论
I have a excel sheet (size 950x8) from which i need to find highest/lowest values in time period (first column which is date) and one of the other columns . Let's say 'which 7 days had the highest values'. I think i need to do this through loop somehow, but not really sure how.
Any help would be appreciated.
0 个评论
采纳的回答
Image Analyst
2022-12-11
Use maxk
%data = readmatrix(filename);
%values = data(:, 3); % For example data you want to check is in column 3.
values = rand(1, 10) % Sample data
[maxValues, indexesOfMaxes] = maxk(values, 7)
%maxDates = data(indexesOfMaxes, 1); % Get corresponding dates from column 1
0 个评论
更多回答(1 个)
Peter Perkins
2022-12-12
It's not clear to me that Image Analyst's solution answers your question, mostly because your question is not very clear. If the question is, "what are the seven days that individually had the seven largest values?", then that seems like one solution. If you have dates and values, you are better off reading into a timetable and then just sorting by the variable of interest, but either would work.
But if the question is, "which seven day period had the largest values?", then you should create a timetable and use retime to aggregate to weeks, using something like @max as your aggregation method.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!