No, il massimo si può presentare una sola volta.
Variabile globale Matlab
Moderatore:
Paolino
28 messaggi
• Pagina 3 di 3 • 1, 2, 3
2
voti
Allora
Dove V è il tuo vettore. A questo punto hai il primo massimo.
Per trovare il secondo devi dapprima togliere il primo:
E poi ripetere l'operazione:
Concettualmente piú semplice è la situazione che hai proposto tu, anche valida, usando la funzione sort.
Sull'efficienza non me la sento di metterci la mano sul fuoco, ma direi che sort potrebbe essere un pelino piú lenta.
Ti conviene provare con un grosso vettore e le funzioni tic e toc.
Boiler
- Codice: Seleziona tutto
M1 = find(max(V));
Dove V è il tuo vettore. A questo punto hai il primo massimo.
Per trovare il secondo devi dapprima togliere il primo:
- Codice: Seleziona tutto
V(M1) = [];
E poi ripetere l'operazione:
- Codice: Seleziona tutto
M2 = find(max(V));
Concettualmente piú semplice è la situazione che hai proposto tu, anche valida, usando la funzione sort.
Sull'efficienza non me la sento di metterci la mano sul fuoco, ma direi che sort potrebbe essere un pelino piú lenta.
Ti conviene provare con un grosso vettore e le funzioni tic e toc.
Boiler
2
voti
boiler ha scritto:
M1 = find(max(V));
Dove
cosi' è un po' uno spreco computazionale pero', la 'find' per quanto ottimizzata ha un costo...
puoi fare prima scrivendo
- Codice: Seleziona tutto
[valore, M1] = max(V);
Ultima modifica di
Russell il 13 giu 2014, 9:05, modificato 1 volta in totale.
0
voti
Russell ha scritto:cosi' è un po' uno spreco computazionale pero', la 'find' per quanto ottimizzata ha un costo...
Vado dietro la lavagna e scrivo 1000 volte "Leggere il manuale delle funzioni prima di dare consigli"
Grazie per la rettifica
Boiler
0
voti
il manuale? esiste un manuale?
queste di solito sono cose che si imparano a caso leggendo codice scritto da altri.
scherzo...
e ora, non per fare il puntiglioso... ma
ripensavo al tuo codice, in particolare quando togli l'elemento massimo con
tecnica interessante.... ma
non è che in questo modo il vettore V dopo l'operazione è un elemento piu' corto?
no perche'... se cosi' fosse.... il valore M2 ottenuto con la linea di codice seguente sarebbe poco affidabile:
* se M2 fosse < M1 allora nessun problema
* ma se M2 fosse > M1 allora il codice darebbe come risultato M2-1 , sbagliando di 1...
queste di solito sono cose che si imparano a caso leggendo codice scritto da altri.
scherzo...
e ora, non per fare il puntiglioso... ma
ripensavo al tuo codice, in particolare quando togli l'elemento massimo con
boiler ha scritto:V(M1) = [];
tecnica interessante.... ma
non è che in questo modo il vettore V dopo l'operazione è un elemento piu' corto?
no perche'... se cosi' fosse.... il valore M2 ottenuto con la linea di codice seguente sarebbe poco affidabile:
* se M2 fosse < M1 allora nessun problema
* ma se M2 fosse > M1 allora il codice darebbe come risultato M2-1 , sbagliando di 1...
0
voti
Russell ha scritto:il manuale? esiste un manuale?![]()
- Codice: Seleziona tutto
help max
non è che in questo modo il vettore V dopo l'operazione è un elemento piu' corto?
Sì lo è.
ma se M2 fosse > M1 allora il codice darebbe come risultato M2-1 , sbagliando di 1...
Torno dietro la lavagna
Ovviamente il caldo di questi giorni mi fornisce un'ottima scusa per gli errori che faccio
Fix:
- Codice: Seleziona tutto
V(M1) = min(V)
Boiler
0
voti
o a zero... oppure
giustamente noi non sappiamo il range di valori del tuo array, e infatti era saltata fuori la soluzione generale.
Se mettendoci zero stai tranquillo fai pure... altrimenti pensaci un attimo.
boiler ha scritto:Fix:
V(M1) = min(V)
giustamente noi non sappiamo il range di valori del tuo array, e infatti era saltata fuori la soluzione generale.
Se mettendoci zero stai tranquillo fai pure... altrimenti pensaci un attimo.
28 messaggi
• Pagina 3 di 3 • 1, 2, 3
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 11 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)




