Guest User

Untitled

a guest
Mar 14th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scilab 0.91 KB | None | 0 0
  1. a = sqrt(2);
  2. G = [
  3. 1 0 0 1 0 0 1 0 0;
  4. 0 1 0 0 1 0 0 1 0;
  5. 0 0 1 0 0 1 0 0 1;
  6. 1 1 1 0 0 0 0 0 0;
  7. 0 0 0 1 1 1 0 0 0;
  8. 0 0 0 0 0 0 1 1 1;
  9. a 0 0 0 a 0 0 0 a;
  10. 0 0 0 0 0 0 0 0 a;]
  11.  
  12. // (3)
  13. [U, S, V] = svd(G);
  14.  
  15. // (4)
  16. r=rank(G); // rang = 7
  17.  
  18. // (5)
  19. // Les deux dernieres colonnes de V sont les deux vecteurs
  20. // du null space
  21.  
  22. Up = U(:,1:r);
  23. Sp = S(1:r, 1:r);
  24. Vp = V(:,1:r);
  25. V0 = V(:,r+1:r+2);
  26. Ginvg = Vp * inv(Sp) * Up'
  27.  
  28. // (6)
  29. M1 = V(:, r+1); M2 = V(:, r+2);
  30. M1 = matrix(M1, 3, 3); M2 = matrix(M2, 3, 3);
  31.  
  32. // (7)
  33. Rm = Vp*Vp';
  34. Rmdiag = matrix(diag(Rm), 3, 3);
  35.  
  36. // (8)
  37. Rd = Up*Up';
  38. sumcols = sum(Rd, 'c');
  39. sumrows = sum(Rd, 'r');
  40.  
  41. //calcul de l'inverse généralisé
  42. Ginvg = Vp*inv(Sp)*Up';
  43.  
  44. //test d'un modèle ( 0 0 0 0 1 0 0 0 0 )
  45. M = [0 0 0 0 1 0 0 0 0];
  46. D = G*M';
  47. Mapprox = Ginvg * D ;
  48.  
  49. // (10) ajout de bruit gaussien
  50. Dnoisy = D+ rand(8, 1, 'uniform')*0.1;
  51.  
  52. Mapprox2 = Ginvg*Dnoisy ;
Add Comment
Please, Sign In to add comment