web-dev-qa-db-fra.com

Octave: trouvez la valeur minimale dans une rangée, et aussi son index

Comment trouver la valeur minimale dans chaque ligne, ainsi que l'indice de la valeur minimale?

octave:1> a = [1 2 3; 9 8 7; 5 4 6]
a =

   1   2   3
   9   8   7
   5   4   6
11
AG1

C'est difficile à trouver dans la documentation. https://www.gnu.org/software/octave/doc/v4.0.3/Utility-Functions.html

octave:2> [minval, idx] = min(a, [], 2)
minval =

   1
   7
   4

idx =

   1
   3
   2
11
AG1

Si A est votre matrice, faites:

[colMin, row] = min(A);
[rowMin, col] = min(A');

colMin correspondra aux valeurs minimales de chaque ligne et col aux index de colonne. rowMin correspondra aux valeurs minimales de chaque colonne et alignera les index des lignes.

Pour trouver l'indice du plus petit élément:

[colMin, colIndex] = min(min(A)); 
[minValue, rowIndex] = min(A(:,colIndex))
4
Odd Marius Aakervik

Supposons que X est une matrice
row, col = Index de ligne et de colonne de valeur minimale

[min_value, column_index] = min(X(:))
[row, col] = ind2sub(size(X),column_index)
2
Mac L. Lak