Getting the entry value (i,j) for the minimum value of reach row of a matrix

1 Ansicht (letzte 30 Tage)
Suppose I have a matrix
A = 3×3
11 13 15
12 14 16
32 18 21
How do I get the output (1,1) (2,1) and (1,3) which indicate the position of the minimum value of each row.

Akzeptierte Antwort

Voss
Voss am 9 Apr. 2022
A=[11 13 15
12 14 16
32 18 21];
[minrow,idx] = min(A,[],2) % min value of each row, with column index
minrow = 3×1
11 12 18
idx = 3×1
1 1 2
result = [(1:size(A,1)).' idx] % 18 is at (3,2) not (1,3)
result = 3×2
1 1 2 1 3 2

Weitere Antworten (1)

Arif Hoq
Arif Hoq am 9 Apr. 2022
may be you are looking for this:
A=[11 13 15
12 14 16
32 18 21];
mincol=min(A) % min value of each column
mincol = 1×3
11 13 15
minrow= min(A,[],2) % min value of each row
minrow = 3×1
11 12 18
  3 Kommentare
Arif Hoq
Arif Hoq am 9 Apr. 2022
Bearbeitet: Arif Hoq am 9 Apr. 2022
if you want fine the row,column of minimum of each row, then
A=[11 13 15
12 14 16
32 18 21];
mincol=min(A) % min value of each column
mincol = 1×3
11 13 15
minrow= min(A,[],2) % min value of each row
minrow = 3×1
11 12 18
[row col]=find(ismember(A,minrow))
row = 3×1
1 2 3
col = 3×1
1 1 2
% here A(1,1)=11 >> A(2,1)=12 >> A(3,2)=18

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by