I am using max function. I need to be able to find 2 values.

My array contains 5 columns and 61 rows. I need to be able to find the max value of each column and the value in the 1st column associated with each maximum. The first column is years incrementing from 1950 to 2010. I seem to be able to get the correct max but can only get the index of the row where it occurs. Any ideas? I am a student and a newbie.

댓글 수: 2

Illustration with 5 X 5 matrix with expected result?
1950 243 13 11 8
1951 137 10 8 5
1952 87 7 6 3
1953 104 14 6 4
1954 113 11 8 2
for instance, In column 2, if the max value is 243, I need to know how to output that number plus the year it occurs.
i.e. 1950 243

댓글을 달려면 로그인하십시오.

 채택된 답변

David Hill
David Hill 2020년 6월 8일
[m,idx]=max(yourMatrix(:,2:end));
newMatrix=[yourMatrix(idx,1),m'];

댓글 수: 1

After playing with this a bit, I was able to get the result I needed. I need to review what I did wrong on my original code.
Thanks,

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

John D'Errico
John D'Errico 2020년 6월 8일
READ THE HELP FOR MAX.
A = rand(61,5);
>> [MaxA,ind] = max(A)
MaxA =
0.97868 0.99908 0.96865 0.94517 0.9937
ind =
33 34 30 37 8
What information does the second return argument provide? How can you new use that variable to give you what you need?

댓글 수: 3

I believe the second return argument provides the index to the row where the max occurs. I am needing to be able to output the value in the first column of my array where the max occurs in the second or third...columns.
David gave you code to do it, which is in fact coincidentally, exactly what I said to do.
Thank you...I couldn't see the forest for the trees.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

태그

질문:

2020년 6월 8일

댓글:

2020년 6월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by