# Find max value with multiple conditions

26 views (last 30 days)
Anita Fitriani on 15 Jan 2020
How can I find max value with 2 or more conditions (such as maxifs in excel).
Thanks before
Andrei Bobrov on 16 Jan 2020
Please attach small part of your excel-file or data table as MATLAB variable - 'table' in mat -file.
Anita Fitriani on 16 Jan 2020
This is small part of my wave height data

Andrei Bobrov on 16 Jan 2020
[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 CommentsShow 1 older commentHide 1 older comment
Andrei Bobrov on 17 Jan 2020
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?

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