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

5 Ansichten (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.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by