Minimo in Matlab

MattiaAnimeRex
dato il vettore A=[3 4 5 1 7 2]
esiste una funzione che restituisca l'indice a cui corrispende il minimo?
In questo caso il minimo e' 1, e io voglio che la funziona mi restituisca 4,
ossia il numero della colonna a cui corrisponde 1.

grazie

Risposte
Raptorista1
La funzione min ti restituisce il minimo elemento.
Ricordo di aver letto da qualche parte che con certi comandi MATLAB restituisce il valore di una cella, con altri l'indice. Se risolvi scrivilo!

yellow2
Non conosco Matlab ma immagino che te la puoi creare facilmente da solo, no?

Feliciano1
se ho capito bene cosa chiedi è semplice

[m,p] = min(vett)
e ti crea una variabile m con il valore del minimo del vettore vett e una p con l'indice della sua posizione

dall'help di Matlab
[C,I] = min(...) finds the indices of the minimum values of A, and returns them in output vector I. If there are several identical minimum values, the index of the first one found is returned.

Feliciano1
in teoria comunque è possibile anche risolvere senza conoscere questa funzione.
prima si calcola il minimo del vettore e lo si mette in una variabile.
si inizialiazza una variabile di conteggio e si crea un ciclo che scorre tutto il vettore confrontando ogni elemento con il minimo
finchè non lo trova ogni volta incrementa la variabile di conteggio
quando l'elemento del vettore è uguale al minimo ci si ferma e si mostra la sua posizione che corrisponde al numero memorizzato nella variabile di conteggio

questo è estratto da un mio documento
m=min(vett)
for (k=1:f) %f è la lunghezza del vettore precedentemente calcolata
ss=vet(k,1);
if (ss==m)
pos=k;
end
end
disp 'la posizione del minimo è'
disp (pos)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.