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

 Akzeptierte Antwort

Star Strider
Star Strider am 21 Jun. 2017

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 21 Jun. 2017

1 Stimme

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

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by