Pagina 1 di 1

sommatoria in Matlab

Inviato: 6 gen 2011, 12:19
da MattiaAnimeRex
Ciao a tutti, il mio problema e' abbastanza semplice: solo che uso
Matlab da poco e non riesco a uscirne!

Sia dato il vettore A = [9 1;3 2; 5 8;4 9]' e il vettore M=[ 1 1]' (gli apici indicano che i vettori sono trasposti in modo che ogni coppia risulti un vettore colonna e non riga)

Devo implementare in Matlab un'espressione del tipo:

E=Σ ( (x(i)-M) * (x(i)-M)' )

dove la sommatoria va da 1 al numero di componenti di A (ossia sommatoria per i da 1 a 4),
per cui x(1)=(9 1), x(2)=(3 2) ecc

Come posso fare?
Spero che qualcuno di voi mi possa aiutare!!

Re: sommatoria in Matlab

Inviato: 6 gen 2011, 14:55
da MattiaAnimeRex
Per intenderci: la sommatoria va fatta per ogni i, per cui al passo 1 avrei:

((9 1)-(1 1)) * ((9 1) - (1 1))' = [ 64 0; 0 0]

questo genera una matrice 2x2;
al passo successivo avro' invece

((3 2)-(1 1)) * ((3 2) - (1 1))' = [4 2; 2 1]

che andra' sommato al risultato precedente e dara': [68 2; 2 1]
e cosi' via fino all'ultima iterazione.

Re: sommatoria in Matlab

Inviato: 10 gen 2011, 20:42
da rini
MattiaAnimeRex ha scritto:((9 1)-(1 1)) * ((9 1) - (1 1))' = [ 64 0; 0 0]
questo genera una matrice 2x2;


Spiegami bene questo passaggio... no dico perché a me esce una matrice 1x1 in quanto
\left [ \begin{bmatrix} 9 & 1 \end{bmatrix} - \begin{bmatrix} 1 & 1 \end{bmatrix}  \right ] \cdot trasp \left \{ \begin{bmatrix} 9 & 1 \end{bmatrix} - \begin{bmatrix} 1 & 1 \end{bmatrix}  \right \}  = 

\begin{bmatrix} 8 & 0 \end{bmatrix} \cdot trasp \{ \begin{bmatrix} 8 & 0 \end{bmatrix} \}= \begin{bmatrix} 8 & 0 \end{bmatrix} \cdot  \begin{bmatrix} 8 \\ 0 \end{bmatrix}  = 64