[MATLAB] Ordinare una matrice rispetto ad un vettore colonna

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto Utentenakatamarco
0 2
New entry
New entry
Messaggi: 65
Iscritto il: 4 ott 2010, 18:08
0
voti

[1] [MATLAB] Ordinare una matrice rispetto ad un vettore colonna

Messaggioda Foto Utentenakatamarco » 22 nov 2010, 17:26

Ciao ragazzi, sto avendo un problema con Matlab. Vi spiego bene quel è il problema:
Supponiamo di avere un vettore colonna(A) costuito da n elementi e una matrice(B) avente n righe e m colonne. Io devo ordinare in maniere decrescente A e in base a quest'ordine devo ordinare la matrice B

Esempio:
Ho A=[5;3;4], dopo l'ordine decrescente diventa A=[5;4;3]. Ovviemente l'indiceè cambiato perché inizialmente erano 1,2,3 adesso sono 1,3,2. In base a questi indici devo ordinare per righe la mia matrice

Fatemi sapere il prima possibile
Allegati
Matrici.JPG
Matrici.JPG (5.6 KiB) Visto 10621 volte

Avatar utente
Foto UtenteBerello
110 1 3 7
Expert EY
Expert EY
Messaggi: 449
Iscritto il: 3 mar 2009, 22:53
Località: Roma
0
voti

[2] Re: [MATLAB] Ordinare una matrice rispetto ad un vettore colonna

Messaggioda Foto UtenteBerello » 22 nov 2010, 17:40

Matlab ha i comandi per la documentazione.

Un esempio:

Codice: Seleziona tutto

doc sort


In particolare:
[B,IX] = sort(A,...) also returns an array of indicex IX, ...

Avatar utente
Foto Utentenakatamarco
0 2
New entry
New entry
Messaggi: 65
Iscritto il: 4 ott 2010, 18:08
0
voti

[3] Re: [MATLAB] Ordinare una matrice rispetto ad un vettore colonna

Messaggioda Foto Utentenakatamarco » 22 nov 2010, 17:52

ho esaminato già il comando sort...il problema è che sort mi ordina anche gli elementi della matric in ordine decrescente.
li deve ordinare il base ad A

Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere
0
voti

[4] Re: [MATLAB] Ordinare una matrice rispetto ad un vettore colonna

Messaggioda Foto UtenteDirtyDeeds » 22 nov 2010, 18:42

nakatamarco ha scritto:Fatemi sapere il prima possibile


Questa non è una bella cosa da dire quando si chiede un aiuto.

Non ho matlab sottomano per controllare, ma direi che una cosa del tipo

Codice: Seleziona tutto

[AS,IX] = sort(A)
BS = B(IX,:)


potrebbe funzionare.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.

Avatar utente
Foto UtenteBerello
110 1 3 7
Expert EY
Expert EY
Messaggi: 449
Iscritto il: 3 mar 2009, 22:53
Località: Roma
0
voti

[5] Re: [MATLAB] Ordinare una matrice rispetto ad un vettore colonna

Messaggioda Foto UtenteBerello » 22 nov 2010, 18:50

E' quello che gli ho detto anche io, ma pare che non va bene! :(

Avatar utente
Foto Utentenakatamarco
0 2
New entry
New entry
Messaggi: 65
Iscritto il: 4 ott 2010, 18:08
0
voti

[6] Re: [MATLAB] Ordinare una matrice rispetto ad un vettore colonna

Messaggioda Foto Utentenakatamarco » 22 nov 2010, 19:08

Grazie ragazzi, si faceva come avete detto voi.

Avatar utente
Foto UtenteBerello
110 1 3 7
Expert EY
Expert EY
Messaggi: 449
Iscritto il: 3 mar 2009, 22:53
Località: Roma
0
voti

[7] Re: [MATLAB] Ordinare una matrice rispetto ad un vettore colonna

Messaggioda Foto UtenteBerello » 22 nov 2010, 19:26

Prego! :mrgreen:

Non uso più Matlab da un po', ma ho sempre trovato la sua documentazione molto ben fatta. Bisogna sempre leggere tutte le righe e soprattutto guardare gli esempi, tantissime volte la soluzione dei miei problemi era già lì. E' incredibile quante funzioni già implementate abbia Matlab! :mrgreen:

Buon lavoro e a presto! ;-)


Torna a “Programmi applicativi: simulatori, CAD ed altro”