Exercici extra (valors propis i valors singulars)

Una imatge en blanc i negre es representa com una matriu de nombres enters 0 i 255, un per cada pixel de la imatge. El valor 0 correspon al color negre i el 255 al blanc. Tots els valors intermedis corresponen als diferents valors de l'escala de grisos.
Considerem la següent matriu , amb y :
a) Calculeu la matriu .
b) Trobeu els valors propis y els vectors propis de B (per ser B simètrica els vaps són reals i els veps ortogonals).
c) Ordeneu els valors propis de B de més gran a més petit.
d) Considerem que un valor propi és zero si en valor absolut és més petit que . Anomenem r el nombre de valors propis de B que no són zero . Quant val r?
e) Sigui S la matriu que conté a la diagonal les arrels quadrades del valors propis de B, ordenats de més gran a més petit (valors singulars).
f) Sigui V la matriu que a les seves columnes conté els respectius vectors propis de B. Comproveu que la matriu V compleix .
g) Calculeu la matriu definida com . D'aquesta manera, tenim una descomposició de la matriu , la qual s'anomena descomposició en valors singulars.
h) Anem a construir succesives aproximacions de la matriu inicial de la següent manera. Considerem:
Calculeu aquestes matrius per i visualitzeu les corresponents imatges amb la funció imshow.
clear
clc
A = [255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255;
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255;
255 255 0 0 0 255 0 0 255 255 255 0 0 255 0 0 0 255 0 0 255 255 255;
255 255 0 255 255 255 0 255 0 255 0 255 255 255 0 255 255 255 0 255 0 255 255;
255 255 0 255 255 255 0 255 0 255 0 255 255 255 0 255 255 255 0 255 0 255 255;
255 255 0 0 0 255 0 0 255 255 255 0 255 255 0 0 0 255 0 0 255 255 255;
255 255 0 255 255 255 0 255 255 255 255 255 0 255 0 255 255 255 0 255 0 255 255;
255 255 0 255 255 255 0 255 255 255 255 255 0 255 0 255 255 255 0 255 0 255 255;
255 255 0 0 0 255 0 255 255 255 0 0 255 255 0 0 0 255 0 0 255 255 255;
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255;
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]
A = 11×23
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 0 0 255 255 255 0 0 255 0 0 0 255 0 0 255 255 255 255 255 0 255 255 255 0 255 0 255 0 255 255 255 0 255 255 255 0 255 0 255 255 255 255 0 255 255 255 0 255 0 255 0 255 255 255 0 255 255 255 0 255 0 255 255 255 255 0 0 0 255 0 0 255 255 255 0 255 255 0 0 0 255 0 0 255 255 255 255 255 0 255 255 255 0 255 255 255 255 255 0 255 0 255 255 255 0 255 0 255 255 255 255 0 255 255 255 0 255 255 255 255 255 0 255 0 255 255 255 0 255 0 255 255 255 255 0 0 0 255 0 255 255 255 0 0 255 255 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
Calculem la matriu
B = A'*A
B = 23×23
715275 715275 260100 520200 520200 715275 260100 585225 585225 715275 520200 520200 520200 715275 260100 520200 520200 715275 260100 520200 455175 715275 715275 715275 715275 260100 520200 520200 715275 260100 585225 585225 715275 520200 520200 520200 715275 260100 520200 520200 715275 260100 520200 455175 715275 715275 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 520200 520200 260100 520200 520200 520200 260100 520200 390150 520200 390150 520200 390150 520200 260100 520200 520200 520200 260100 520200 260100 520200 520200 520200 520200 260100 520200 520200 520200 260100 520200 390150 520200 390150 520200 390150 520200 260100 520200 520200 520200 260100 520200 260100 520200 520200 715275 715275 260100 520200 520200 715275 260100 585225 585225 715275 520200 520200 520200 715275 260100 520200 520200 715275 260100 520200 455175 715275 715275 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 260100 585225 585225 260100 520200 520200 585225 260100 585225 455175 585225 390150 520200 455175 585225 260100 520200 520200 585225 260100 520200 325125 585225 585225 585225 585225 260100 390150 390150 585225 260100 455175 585225 585225 520200 390150 390150 585225 260100 390150 390150 585225 260100 390150 455175 585225 585225 715275 715275 260100 520200 520200 715275 260100 585225 585225 715275 520200 520200 520200 715275 260100 520200 520200 715275 260100 520200 455175 715275 715275
Calculem els valors i els vectors propis de B:
[VEPS, VAPS] = eig(B)
VEPS = 23×23
3.2868e-01 -2.8745e-02 1.0734e-01 3.7359e-03 2.3555e-02 1.7972e-01 7.0711e-01 1.3121e-01 1.7327e-01 -2.4536e-01 1.6617e-01 6.0736e-02 -9.0996e-02 -6.6980e-02 7.5925e-02 -1.6692e-01 -2.1635e-01 -1.1341e-01 4.4306e-02 -2.9611e-02 8.2651e-02 1.6881e-01 2.5254e-01 3.2868e-01 -2.8745e-02 1.0734e-01 3.7359e-03 2.3555e-02 1.7972e-01 -7.0711e-01 1.3121e-01 1.7327e-01 -2.4536e-01 1.6617e-01 6.0736e-02 -9.0996e-02 -6.6980e-02 7.5925e-02 -1.6692e-01 -2.1635e-01 -1.1341e-01 4.4306e-02 -2.9611e-02 8.2651e-02 1.6881e-01 2.5254e-01 4.9048e-02 -1.6402e-01 2.1134e-01 2.4751e-01 -1.8044e-01 1.5314e-01 1.5702e-16 1.1889e-01 4.6005e-01 4.6108e-01 -1.9883e-01 -2.9014e-01 -6.6334e-02 1.3957e-01 3.6531e-02 -1.0941e-01 -1.5818e-02 -1.2387e-01 -1.1717e-02 -3.3202e-02 -3.7963e-01 -1.8933e-01 1.1261e-01 9.4823e-03 -2.3477e-01 4.7969e-01 4.3485e-01 6.9639e-02 -1.6389e-01 4.7399e-16 -1.8705e-01 -3.5611e-01 -4.7985e-02 -9.7332e-02 1.0660e-01 -1.3905e-02 -1.8424e-01 3.6197e-01 4.4909e-02 -1.1752e-02 1.6765e-02 5.8918e-02 5.8371e-02 1.2002e-01 -2.8060e-01 2.0330e-01 -2.1880e-01 4.9416e-02 -2.8956e-01 -2.3319e-01 -2.0184e-02 -1.5048e-02 -1.6738e-16 1.3584e-01 2.4136e-01 1.5764e-02 1.7894e-01 -4.9105e-02 -3.4045e-01 -9.8558e-02 5.8450e-01 2.8405e-01 9.9294e-02 1.6765e-02 5.8918e-02 5.8371e-02 1.2002e-01 -2.8060e-01 2.0330e-01 3.2703e-01 1.1843e-01 -1.8104e-01 -2.9155e-01 1.8945e-02 -3.0181e-01 1.0384e-15 -2.7330e-01 -2.6494e-01 4.9500e-01 -1.7129e-01 -1.7328e-01 -8.9234e-02 -5.4591e-02 1.3461e-01 -1.7382e-01 -2.1550e-01 -1.1341e-01 4.4306e-02 -2.9611e-02 8.2651e-02 1.6881e-01 2.5254e-01 5.1357e-02 -1.1010e-01 -9.8974e-02 -2.8039e-01 -2.1069e-01 -4.1586e-02 -3.6925e-17 3.1824e-01 -3.5340e-01 -4.2438e-01 -3.7430e-01 -1.4516e-01 1.1418e-01 1.6490e-01 1.4944e-01 -1.0614e-01 -1.4741e-02 -1.2387e-01 -1.1717e-02 -3.3202e-02 -3.7963e-01 -1.8933e-01 1.1261e-01 6.5760e-02 -1.2616e-01 -3.6572e-01 2.6554e-01 -9.1381e-02 -1.6006e-01 5.6701e-16 9.4659e-02 4.6068e-02 -2.9723e-03 -2.7348e-02 1.1716e-01 4.7303e-02 -1.1983e-01 -1.0308e-01 -6.9222e-02 -3.9267e-02 8.1577e-02 -7.5063e-01 -1.6682e-01 1.2500e-01 -1.4267e-01 2.2021e-01 -6.5760e-02 1.2616e-01 3.6572e-01 -2.6554e-01 9.1381e-02 1.6006e-01 -5.5125e-16 -9.4659e-02 -4.6068e-02 2.9723e-03 2.7348e-02 -1.1716e-01 -4.7303e-02 1.1983e-01 1.0308e-01 6.9222e-02 3.9267e-02 4.3662e-01 -4.7245e-01 3.6146e-01 -1.9395e-01 2.3840e-01 2.0846e-01 -7.0223e-02 -2.1598e-01 2.4086e-01 -1.6458e-01 1.6931e-01 -4.4837e-01 1.6100e-17 5.0054e-01 5.9486e-02 1.7272e-01 1.0175e-01 7.0616e-02 2.3678e-01 8.9867e-02 -1.7310e-01 3.5411e-01 7.2205e-03 -1.1341e-01 4.4306e-02 -2.9611e-02 8.2651e-02 1.6881e-01 2.5254e-01
VAPS = 23×23
-1.3494e-09 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8.2972e-11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.4465e-11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.9522e-11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.3881e-11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.0445e-12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5.6806e-27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.4264e-12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4.2053e-12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7.2273e-12 0 0 0 0 0 0 0 0 0 0 0 0 0
Ordenem els valors propis i guardem un vector ind amb la posició original de cadascun dels valors propis.
[vaps, ind] = sort(diag(VAPS),'descend')
vaps = 23×1
1.0770e+07 8.2148e+05 6.4922e+05 2.4106e+05 5.1895e+04 1.5687e+04 1.6502e-09 5.3739e-10 9.0834e-11 5.2789e-11
ind = 23×1
23 22 21 20 19 18 17 16 15 14
Reordenem els vectors propis de la mateixa manera que els valors propis:
VEPS_ord = VEPS(:,ind)
VEPS_ord = 23×23
2.5254e-01 1.6881e-01 8.2651e-02 -2.9611e-02 4.4306e-02 -1.1341e-01 -2.1635e-01 -1.6692e-01 7.5925e-02 -6.6980e-02 -9.0996e-02 6.0736e-02 1.6617e-01 -2.4536e-01 1.7327e-01 1.3121e-01 7.0711e-01 1.7972e-01 2.3555e-02 3.7359e-03 1.0734e-01 -2.8745e-02 3.2868e-01 2.5254e-01 1.6881e-01 8.2651e-02 -2.9611e-02 4.4306e-02 -1.1341e-01 -2.1635e-01 -1.6692e-01 7.5925e-02 -6.6980e-02 -9.0996e-02 6.0736e-02 1.6617e-01 -2.4536e-01 1.7327e-01 1.3121e-01 -7.0711e-01 1.7972e-01 2.3555e-02 3.7359e-03 1.0734e-01 -2.8745e-02 3.2868e-01 1.1261e-01 -1.8933e-01 -3.7963e-01 -3.3202e-02 -1.1717e-02 -1.2387e-01 -1.5818e-02 -1.0941e-01 3.6531e-02 1.3957e-01 -6.6334e-02 -2.9014e-01 -1.9883e-01 4.6108e-01 4.6005e-01 1.1889e-01 1.5702e-16 1.5314e-01 -1.8044e-01 2.4751e-01 2.1134e-01 -1.6402e-01 4.9048e-02 2.0330e-01 -2.8060e-01 1.2002e-01 5.8371e-02 5.8918e-02 1.6765e-02 -1.1752e-02 4.4909e-02 3.6197e-01 -1.8424e-01 -1.3905e-02 1.0660e-01 -9.7332e-02 -4.7985e-02 -3.5611e-01 -1.8705e-01 4.7399e-16 -1.6389e-01 6.9639e-02 4.3485e-01 4.7969e-01 -2.3477e-01 9.4823e-03 2.0330e-01 -2.8060e-01 1.2002e-01 5.8371e-02 5.8918e-02 1.6765e-02 9.9294e-02 2.8405e-01 5.8450e-01 -9.8558e-02 -3.4045e-01 -4.9105e-02 1.7894e-01 1.5764e-02 2.4136e-01 1.3584e-01 -1.6738e-16 -1.5048e-02 -2.0184e-02 -2.3319e-01 -2.8956e-01 4.9416e-02 -2.1880e-01 2.5254e-01 1.6881e-01 8.2651e-02 -2.9611e-02 4.4306e-02 -1.1341e-01 -2.1550e-01 -1.7382e-01 1.3461e-01 -5.4591e-02 -8.9234e-02 -1.7328e-01 -1.7129e-01 4.9500e-01 -2.6494e-01 -2.7330e-01 1.0384e-15 -3.0181e-01 1.8945e-02 -2.9155e-01 -1.8104e-01 1.1843e-01 3.2703e-01 1.1261e-01 -1.8933e-01 -3.7963e-01 -3.3202e-02 -1.1717e-02 -1.2387e-01 -1.4741e-02 -1.0614e-01 1.4944e-01 1.6490e-01 1.1418e-01 -1.4516e-01 -3.7430e-01 -4.2438e-01 -3.5340e-01 3.1824e-01 -3.6925e-17 -4.1586e-02 -2.1069e-01 -2.8039e-01 -9.8974e-02 -1.1010e-01 5.1357e-02 2.2021e-01 -1.4267e-01 1.2500e-01 -1.6682e-01 -7.5063e-01 8.1577e-02 -3.9267e-02 -6.9222e-02 -1.0308e-01 -1.1983e-01 4.7303e-02 1.1716e-01 -2.7348e-02 -2.9723e-03 4.6068e-02 9.4659e-02 5.6701e-16 -1.6006e-01 -9.1381e-02 2.6554e-01 -3.6572e-01 -1.2616e-01 6.5760e-02 2.0846e-01 2.3840e-01 -1.9395e-01 3.6146e-01 -4.7245e-01 4.3662e-01 3.9267e-02 6.9222e-02 1.0308e-01 1.1983e-01 -4.7303e-02 -1.1716e-01 2.7348e-02 2.9723e-03 -4.6068e-02 -9.4659e-02 -5.5125e-16 1.6006e-01 9.1381e-02 -2.6554e-01 3.6572e-01 1.2616e-01 -6.5760e-02 2.5254e-01 1.6881e-01 8.2651e-02 -2.9611e-02 4.4306e-02 -1.1341e-01 7.2205e-03 3.5411e-01 -1.7310e-01 8.9867e-02 2.3678e-01 7.0616e-02 1.0175e-01 1.7272e-01 5.9486e-02 5.0054e-01 1.6100e-17 -4.4837e-01 1.6931e-01 -1.6458e-01 2.4086e-01 -2.1598e-01 -7.0223e-02
Calculem el nombre de valors propis no nuls, amb una tolerància del :
epsilon = 1.e-8
epsilon =
1.0000e-08
r = sum(abs(vaps) > epsilon)
r =
6
Calculem S, V i U
S = diag(realsqrt(vaps(1:r)))
S = 6×6
3.2818e+03 0 0 0 0 0 0 9.0636e+02 0 0 0 0 0 0 8.0574e+02 0 0 0 0 0 0 4.9098e+02 0 0 0 0 0 0 2.2780e+02 0 0 0 0 0 0 1.2525e+02
V = VEPS_ord(:,1:r)
V = 23×6
2.5254e-01 1.6881e-01 8.2651e-02 -2.9611e-02 4.4306e-02 -1.1341e-01 2.5254e-01 1.6881e-01 8.2651e-02 -2.9611e-02 4.4306e-02 -1.1341e-01 1.1261e-01 -1.8933e-01 -3.7963e-01 -3.3202e-02 -1.1717e-02 -1.2387e-01 2.0330e-01 -2.8060e-01 1.2002e-01 5.8371e-02 5.8918e-02 1.6765e-02 2.0330e-01 -2.8060e-01 1.2002e-01 5.8371e-02 5.8918e-02 1.6765e-02 2.5254e-01 1.6881e-01 8.2651e-02 -2.9611e-02 4.4306e-02 -1.1341e-01 1.1261e-01 -1.8933e-01 -3.7963e-01 -3.3202e-02 -1.1717e-02 -1.2387e-01 2.2021e-01 -1.4267e-01 1.2500e-01 -1.6682e-01 -7.5063e-01 8.1577e-02 2.0846e-01 2.3840e-01 -1.9395e-01 3.6146e-01 -4.7245e-01 4.3662e-01 2.5254e-01 1.6881e-01 8.2651e-02 -2.9611e-02 4.4306e-02 -1.1341e-01
U = A*V*inv(S)
U = 11×6
3.6232e-01 -1.6824e-01 -2.9988e-01 -1.5982e-02 -2.6168e-03 -1.5211e-02 3.6232e-01 -1.6824e-01 -2.9988e-01 -1.5982e-02 -2.6168e-03 -1.5211e-02 2.0064e-01 5.4847e-01 -4.7055e-02 3.0645e-01 2.1578e-01 -7.1850e-01 2.8366e-01 -1.2368e-01 4.3700e-01 -3.7649e-01 2.3082e-01 -1.3508e-01 2.8366e-01 -1.2368e-01 4.3700e-01 -3.7649e-01 2.3082e-01 -1.3508e-01 2.1543e-01 5.5864e-01 -8.6772e-02 -4.2261e-02 4.9437e-01 6.2273e-01 2.9995e-01 -3.8515e-02 3.5238e-01 4.6465e-01 -1.9927e-01 1.6962e-01 2.9995e-01 -3.8515e-02 3.5238e-01 4.6465e-01 -1.9927e-01 1.6962e-01 2.1765e-01 4.9023e-01 1.5749e-02 -4.3359e-01 -7.2321e-01 3.1834e-02 3.6232e-01 -1.6824e-01 -2.9988e-01 -1.5982e-02 -2.6168e-03 -1.5211e-02
Comprovem que
z = V'*V - eye(r)
z = 6×6
-9.9920e-16 -5.2514e-17 -2.6055e-18 -1.7990e-17 -2.9886e-17 -1.3186e-17 -5.2514e-17 -7.7716e-16 -1.0896e-16 -1.1915e-16 -2.7210e-18 -7.2456e-17 -2.6055e-18 -1.0896e-16 0 2.9041e-16 -1.7524e-16 1.6882e-16 -1.7990e-17 -1.1915e-16 2.9041e-16 -6.6613e-16 -2.3533e-16 3.0087e-16 -2.9886e-17 -2.7210e-18 -1.7524e-16 -2.3533e-16 0 2.4027e-16 -1.3186e-17 -7.2456e-17 1.6882e-16 3.0087e-16 2.4027e-16 -3.3307e-16
max(abs(z(:)))
ans =
9.9920e-16
Comprovem la descomposició en valors singulars de la matriu A.
z = A - U*S*V'
z = 11×23
1.7053e-13 1.7053e-13 1.4211e-13 2.2737e-13 2.2737e-13 1.7053e-13 1.4211e-13 2.2737e-13 1.7053e-13 2.5580e-13 2.2737e-13 2.2737e-13 1.7053e-13 2.5580e-13 1.1369e-13 2.2737e-13 2.2737e-13 2.5580e-13 1.1369e-13 2.5580e-13 5.6843e-14 4.8317e-13 2.5580e-13 1.7053e-13 1.7053e-13 1.4211e-13 2.2737e-13 2.2737e-13 1.7053e-13 1.4211e-13 2.2737e-13 1.7053e-13 2.5580e-13 2.2737e-13 2.2737e-13 1.7053e-13 2.5580e-13 1.1369e-13 2.2737e-13 2.2737e-13 2.5580e-13 1.1369e-13 2.5580e-13 5.6843e-14 4.8317e-13 2.5580e-13 1.4211e-13 1.4211e-13 -3.7519e-14 -2.7614e-15 2.7053e-13 1.7053e-13 4.2208e-15 -1.5522e-13 3.6948e-13 7.6739e-13 1.7053e-13 1.6677e-14 -4.1868e-14 7.3896e-13 1.7710e-14 9.9727e-14 2.3831e-13 8.8107e-13 -2.1846e-13 1.1765e-13 2.8422e-13 -1.1937e-12 -2.8422e-14 1.7053e-13 1.7053e-13 7.9673e-14 1.9895e-13 3.1264e-13 1.7053e-13 9.7400e-14 1.4211e-13 1.0364e-13 4.2633e-13 -6.3101e-14 2.2737e-13 3.6948e-13 4.2633e-13 9.3822e-14 2.2737e-13 2.2737e-13 4.5475e-13 5.5976e-14 1.9895e-13 2.9495e-13 1.7053e-13 8.5265e-14 1.7053e-13 1.7053e-13 7.9673e-14 1.9895e-13 3.1264e-13 1.7053e-13 9.7400e-14 1.4211e-13 1.0364e-13 4.2633e-13 -6.3101e-14 2.2737e-13 3.6948e-13 4.2633e-13 9.3822e-14 2.2737e-13 2.2737e-13 4.5475e-13 5.5976e-14 1.9895e-13 2.9495e-13 1.7053e-13 8.5265e-14 5.6843e-14 5.6843e-14 -1.9567e-14 1.2558e-13 5.2381e-14 5.6843e-14 -4.3546e-14 2.1476e-13 1.7053e-13 -5.6843e-14 2.8422e-13 6.3038e-14 1.1369e-13 1.1369e-13 -1.4736e-14 -2.4707e-14 -1.2919e-13 0 1.1654e-13 -3.7842e-14 -5.6843e-14 1.6769e-12 2.2737e-13 2.5580e-13 2.5580e-13 1.2239e-13 1.7053e-13 1.9895e-13 1.9895e-13 1.0230e-13 8.5265e-14 1.1369e-13 1.4211e-13 3.4106e-13 1.4211e-13 1.5824e-13 1.7053e-13 8.8679e-14 1.7053e-13 8.5265e-14 1.9895e-13 2.4847e-13 1.9895e-13 2.7597e-13 4.8317e-13 5.4001e-13 2.5580e-13 2.5580e-13 1.2239e-13 1.7053e-13 1.9895e-13 1.9895e-13 1.0230e-13 8.5265e-14 1.1369e-13 1.4211e-13 3.4106e-13 1.4211e-13 1.5824e-13 1.7053e-13 8.8679e-14 1.7053e-13 8.5265e-14 1.9895e-13 2.4847e-13 1.9895e-13 2.7597e-13 4.8317e-13 5.4001e-13 2.5580e-13 2.5580e-13 -7.1054e-14 -2.8422e-14 5.6843e-14 2.8422e-13 -8.5265e-14 1.4211e-13 1.9895e-13 2.5580e-13 7.1054e-14 2.8422e-14 3.1264e-13 2.2737e-13 -4.2633e-14 2.8422e-14 1.1369e-13 1.1369e-13 9.9476e-14 8.5265e-14 2.8422e-14 5.6843e-14 4.8317e-13 1.1369e-13 1.1369e-13 1.1369e-13 1.9895e-13 2.5580e-13 1.1369e-13 1.1369e-13 1.9895e-13 2.5580e-13 1.9895e-13 2.2737e-13 1.9895e-13 1.1369e-13 1.9895e-13 1.1369e-13 2.2737e-13 1.9895e-13 1.9895e-13 8.5265e-14 2.2737e-13 1.1369e-13 4.5475e-13 2.8422e-13
max(abs(z(:)))
ans =
1.6769e-12
Calculem i visualitzem la succesió de matrius.
% a la función imshow utilizem [] per indicar el rang total de valors de la matriu
k = 1
k =
1
A_1 = U(:,1:k)*S(1:k,1:k)*V(:,1:k)';
imshow(A_1,[],'InitialMagnification','fit')
k = 2
k =
2
A_2 = U(:,1:k)*S(1:k,1:k)*V(:,1:k)';
imshow(A_2,[],'InitialMagnification','fit')
k = 3
k =
3
A_3 = U(:,1:k)*S(1:k,1:k)*V(:,1:k)';
imshow(A_3,[],'InitialMagnification','fit')
k = 4
k =
4
A_4 = U(:,1:k)*S(1:k,1:k)*V(:,1:k)';
imshow(A_4,[],'InitialMagnification','fit')
k = 5
k =
5
A_5 = U(:,1:k)*S(1:k,1:k)*V(:,1:k)';
imshow(A_5,[],'InitialMagnification','fit')
k = 6
k =
6
A_6 = U(:,1:k)*S(1:k,1:k)*V(:,1:k)';
imshow(A_6,[],'InitialMagnification','fit')
% veiem-ho tot junt
imshow([A_1,A_2,A_3;A_4,A_5,A_6],[],'InitialMagnification','fit')
L'analisi de components principals de la matriu associada a una imatge permet trobar imatges similars a aquesta que:
Exercici: Fer un exemple similar per les lletres de l'ETSEIB.
© Numerical Factory 2020 (by M.A. Andreu)