Find max value with multiple conditions
24 views (last 30 days)
Show older comments
Anita Fitriani
on 15 Jan 2020
Commented: Auwal Adamu Abdullahi
on 1 Aug 2021
How can I find max value with 2 or more conditions (such as maxifs in excel).
Thanks before
6 Comments
Andrei Bobrov
on 16 Jan 2020
Please attach small part of your excel-file or data table as MATLAB variable - 'table' in mat -file.
Accepted Answer
Andrei Bobrov
on 16 Jan 2020
T=readtable('wave height data.xlsx');
[r,rn] = findgroups(T(:,1));
[c,cn] = findgroups(T(:,2));
out = accumarray([r,c],T.WaveHeight,[],@max);
Tout = array2table([rn.Year,out],'VariableNames',[{'Year'};cn.Direction]);
3 Comments
Auwal Adamu Abdullahi
on 1 Aug 2021
How do i obtain and tabulate the maximum wave height. Add to that table two separate columns that show the direction and period of each of those yearly maximum wave heights. for 30 years?
More Answers (1)
CAM
on 16 Jan 2020
Edited: CAM
on 16 Jan 2020
Use logic statements for each criterion. Use logical "AND" (&) to see which elements meet all criteria. Find the max of those values.
Air Code (untested):
idxC1 = (matrix > criterion1);
idxC2 = (matrix < criterion2);
...
idxOverall = idxC1 & idxC2 & ... & idxCn;
MaxVal = max(matrix(idxOverall));
0 Comments
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!