Find max value with multiple conditions

39 views (last 30 days)
How can I find max value with 2 or more conditions (such as maxifs in excel).
Thanks before

Sign in to comment.

Accepted Answer

Andrei Bobrov
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]);
Auwal Adamu Abdullahi
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?

Sign in to comment.

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));


Find more on Tables 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!