Fattorizzazione svd

HeroGian
Salve a tutti, sto facendo esercizi sulla fattorizzazione svd, solo che non mi tornano i calcoli.. vi mostro l'algoritmo che sto usando per calcolare la fattorizzazione:

data una matrice $M = USV^t$, per esempio questa:

$M = ((a,b),(c,d))$

passo 1. Determino gli autovalori e gli autovettori di $M^tM$
passo 2. inserisco le radici quadrate degli autovalori $lambda_1, lambda_2, ... , lambda_n$ sulla diagonale principale di $S$
passo 3. Inserisco gli autovettori di $M^tM$ come colonne di V
passo 4. Inserisco gli autovettori di $MM^t$ come colonne di U

esempio
A =

8 1 6
3 5 7
4 9 2

>> [U, S, V] = SVD(A)

U =

-0.4082 -0.7071 0.5774
0.8165 0.0000 0.5774
-0.4082 0.7071 0.5774


S =

3.4641 0 0
0 6.9282 0
0 0 15.0000


V =

0.7071 0.4082 0.5774
-0.0000 -0.8165 0.5774
-0.7071 0.4082 0.5774

>> U*S*V'

ans =

2.0000 9.0000 4.0000
7.0000 5.0000 3.0000
6.0000 1.0000 8.0000

Risposte
Emar1
Non ho capito, ma stai usando Matlab per scrivere l'algoritmo o per verificare i calcoli?

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