Hello everyone, I have a matrix a = [3 2 1; -5 0 6; 0 0 7], where I know the maximum value in the matrix is 7. I want to know the respective row values of the 7, i.e 1,6 and the new matrix b =[1 6 7](the row of the maximum value 7).Please help me with code.
I appreciate your help, TIA, Ketan

 채택된 답변

Star Strider
Star Strider 2017년 6월 21일

0 개 추천

You are confusing rows and columns. The result you want for ‘b’ is column 3, not row 3:
a = [3 2 1; -5 0 6; 0 0 7];
ix = find(a(:) == max(a(:))); % Find Index Of Maximum
[~,c] = ind2sub(size(a),ix); % Determine Column Of Maximum
b = a(:,c)
b =
1
6
7

댓글 수: 2

Ketan Kumar Sahu
Ketan Kumar Sahu 2017년 6월 21일
Thank you so much @Star Strider for your help and marking out my mistake . my code is working now. Thanks.
Star Strider
Star Strider 2017년 6월 21일
As always, my pleasure.

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

추가 답변 (1개)

Andrei Bobrov
Andrei Bobrov 2017년 6월 21일

1 개 추천

for 2d arrays
a = [3 2 1; -5 0 6; 0 0 7];
[~,c] = max(max(a));
b = a(:,c)

카테고리

도움말 센터File Exchange에서 Operating on Diagonal Matrices에 대해 자세히 알아보기

태그

질문:

2017년 6월 21일

댓글:

2017년 6월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by