Come cercare i dati in una matrice su Matlab e Octave
Per cercare un dato in una matrice su Matlab e Octave, si usa la funzione find()
find(condizione);
L'argomento è una condizione per selezionare gli elementi della matrice.
La funzione find() restituisce l'elenco degli elementi che soddisfano le condizioni di selezione.
Esempi
Esempio 1
Creare una matrice 3x3
>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
Digitare [row,col]=find(M==5) per trovare il valore 5 nella matrice
>> [row,col]=find(M==5)
Il comando trova il valore 5 alle coordinate row=2 e col=2
row = 2
col = 2
Il valore 5 si trova alle coordinate (2;2) ossia sulla seconda riga e seconda colonna della matrice.
Esempio 2
Digitare [row,col]=find(M<3) per trovare i valori minori di 3 nella matrice
>> [row,col]=find(M<3)
In questo caso le variabili row e col sono due array perché la selezione trova più di un valore che soddisfa la condizione.
row = [1 1]
col = [1 2]
Il primo elemento si trova alle coordinate row(1)=1 e col(1)=1 ossia alle coordinate (1;1) della matrice.
Il secondo elemento si trova alle coordinate row(2)=1 e col(2)=2 ossia alle coordinate (1;2) della matrice.
Esempio 3
Digitare [row,col]=find(M>10) per trovare i valori maggiori di 10 nella matrice
>> [row,col]=find(M>10)
La matrice non ha valori maggiori di 10.
Gli array row e col sono vuoti.
row = [](0x1)
col = [](0x1)