Find max value with multiple conditions

24 次查看(过去 30 天)
How can I find max value with 2 or more conditions (such as maxifs in excel).
Thanks before
  6 个评论
Andrei Bobrov
Andrei Bobrov 2020-1-16
Please attach small part of your excel-file or data table as MATLAB variable - 'table' in mat -file.

请先登录,再进行评论。

采纳的回答

Andrei Bobrov
Andrei Bobrov 2020-1-16
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 个评论
Andrei Bobrov
Andrei Bobrov 2020-1-17
Anita! If my answer solved your problem, then please accept it.
Auwal Adamu Abdullahi
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?

请先登录,再进行评论。

更多回答(1 个)

CAM
CAM 2020-1-16
编辑:CAM 2020-1-16
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));

类别

Help CenterFile Exchange 中查找有关 Tables 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by