Pages: [1]   Go Down
Print
Author Topic: Matrice di permutazione  (Read 6266 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
mafalda
Apprendista Forumista
**
Offline Offline

Posts: 430


CЯΣDΣЯCI SΣMPЯΣ, ΛЯЯΣПDΣЯSI MΛI!


« on: 26-11-2008, 18:51:28 »

Qual'è la matrice di permutazione P per applicare il pivot parziale per righe.

In generale, qualcuno mi sa spiegare cosa bisogna fare?  grazie!
Logged

...๔єςเ, ๔єςเ, ๔єςเ...
Acicatena86
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 404


See full me now who neon


« Reply #1 on: 26-11-2008, 19:11:32 »

Allora considera la matrice identita I=[1 0 0;0 1 0;0 0 1];  P la trovi scambiando nella matrice I le righe che vuoi scambiare nella matrice principale : Es vuoi scambiare la 1° con la 3°?

P viene :   P=[0 0 1;0 1 0;1 0 0]

Logged
mafalda
Apprendista Forumista
**
Offline Offline

Posts: 430


CЯΣDΣЯCI SΣMPЯΣ, ΛЯЯΣПDΣЯSI MΛI!


« Reply #2 on: 26-11-2008, 19:27:32 »

si ma l'esercizio dice di applicare il metodo del pivot parziale, e cioè dovrei permutare ogni volta la matrice P affinchè il massimo elemento della matrice iniziale sia nella prima riga...
cioè se ho A=[1 3 2 ; 2 -1 4; 3 4 -3] che dovrei fare??
Logged

...๔єςเ, ๔єςเ, ๔єςเ...
Acicatena86
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 404


See full me now who neon


« Reply #3 on: 26-11-2008, 19:35:56 »

No, basta semplicemente scambiare nella matrice identità la prima riga con la terza riga!
Questo perchè il massimo è l'elemento a31 della matrice A ,cioè 3.
Comunque per avere la conferma fai semplicemente così:


 0 0 1           1   3   2            3  4  -3
 0 1 0    *     2  -1   4     =     2 -1   4
 1 0 0           3   4  -3            1  3   2
Logged
Timmy
Guest
« Reply #4 on: 26-11-2008, 19:38:50 »

Aggiungo a quello che ha detto Acicatena nel suo primo post che premoltiplicando P si permutano le righe e postmoltiplicando si permutano le colonne.

[Ormai l'ho scritto faticosamente e lo pubblico anche se già ha risposto Acicatena  ]
@mafalda: considerando la tua matrice, al passo 0 devi controllare che a11 sia maggiore di a21 e a31. Se non lo è devi permutare la riga con coefficente maggiore.

Quindi A diventa: [3 4 -3; 2 -1 4; 1 3 2]. In pratica ad A devi premoltiplicare [0 1 0 ; 1 0 0 ; 0 0 1]

Al passo successivo devi controllare che a22 sia maggiore di a32. In caso negativo devi permutare premoltiplicando ad A (quella al passo 1) la matrice [1 0 0; 0 0 1; 0 1 0]
Logged
mafalda
Apprendista Forumista
**
Offline Offline

Posts: 430


CЯΣDΣЯCI SΣMPЯΣ, ΛЯЯΣПDΣЯSI MΛI!


« Reply #5 on: 26-11-2008, 19:41:50 »

fantastico ok grazie ragazzi
Logged

...๔єςเ, ๔єςเ, ๔єςเ...
Timmy
Guest
« Reply #6 on: 26-11-2008, 19:42:22 »

Prego  ok
Logged
Acicatena86
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 404


See full me now who neon


« Reply #7 on: 26-11-2008, 19:52:28 »

Figurati ,se non ci si aiuta tra colleghi  angel
Logged
mafalda
Apprendista Forumista
**
Offline Offline

Posts: 430


CЯΣDΣЯCI SΣMPЯΣ, ΛЯЯΣПDΣЯSI MΛI!


« Reply #8 on: 26-11-2008, 19:55:38 »

Figurati ,se non ci si aiuta tra colleghi  angel
giustissimo ok
Logged

...๔єςเ, ๔єςเ, ๔єςเ...
Timmy
Guest
« Reply #9 on: 26-11-2008, 19:59:05 »

Figurati ,se non ci si aiuta tra colleghi  angel
giustissimo ok

Infatti  ok ok
Logged
bakks87
Apprendista Forumista
**
Offline Offline

Posts: 162


« Reply #10 on: 22-11-2009, 18:25:21 »

[Ormai l'ho scritto faticosamente e lo pubblico anche se già ha risposto Acicatena  ]
@mafalda: considerando la tua matrice, al passo 0 devi controllare che a11 sia maggiore di a21 e a31. Se non lo è devi permutare la riga con coefficente maggiore.

Quindi A diventa: [3 4 -3; 2 -1 4; 1 3 2]. In pratica ad A devi premoltiplicare [0 1 0 ; 1 0 0 ; 0 0 1]

sono daccordo con la matrice A risultante.
Ma ad A non si deve premoltiplicare la matrice [0,0,1:0,1,0;1,0,0] Huh?
Logged
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #11 on: 22-11-2009, 19:14:24 »

[Ormai l'ho scritto faticosamente e lo pubblico anche se già ha risposto Acicatena  ]
@mafalda: considerando la tua matrice, al passo 0 devi controllare che a11 sia maggiore di a21 e a31. Se non lo è devi permutare la riga con coefficente maggiore.

Quindi A diventa: [3 4 -3; 2 -1 4; 1 3 2]. In pratica ad A devi premoltiplicare [0 1 0 ; 1 0 0 ; 0 0 1]

sono daccordo con la matrice A risultante.
Ma ad A non si deve premoltiplicare la matrice [0,0,1:0,1,0;1,0,0] Huh?

wow hai riesumato un post vecchio di un anno!!
cmq si devi pre-moltiplicare per [0 0 1; 0 1 0; 1 0 0] stai scambiando prima con ultima riga
se non sei sicuro ti basta fare il prodotto e verificare il risultato

Code:
octave-3.0.2:1> a=[1 3 2; 2 -1 4; 3 4 -3]
a =

   1   3   2
   2  -1   4
   3   4  -3

octave-3.0.2:2> i = [0 0 1; 0 1 0; 1 0 0]
i =

   0   0   1
   0   1   0
   1   0   0

octave-3.0.2:3> i*a
ans =

   3   4  -3
   2  -1   4
   1   3   2

Logged
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #12 on: 22-11-2009, 19:23:21 »

sono giuste entrambe le matrici di permutazione... l'elemento maggiore (cioè 4), sta sia nella terza che nella seconda riga!
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
Pages: [1]   Go Up
Print
Jump to: