Guest User

Untitled

a guest
Mar 13th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scilab 1.12 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. [U, S, V] = svd(G);
  13. r=rank(G);
  14. // Les deux dernieres colonnes de V sont les deux vecteurs
  15. // du null space
  16. M1 = V(:, r+1); M2 = V(:, r+2);
  17. M1 = matrix(M1, 3, 3); M2 = matrix(M2, 3, 3);
  18. Up = U(:,1:r);
  19. S = S(1:r, 1:r);
  20. Vp = V(:,1:r);
  21. V0 = V(:,r+1:r+2);
  22. Ginvg = Vp * Sp' * Up'
  23. a = sqrt(2);
  24. G = [
  25. 1 0 0 1 0 0 1 0 0;
  26. 0 1 0 0 1 0 0 1 0;
  27. 0 0 1 0 0 1 0 0 1;
  28. 1 1 1 0 0 0 0 0 0;
  29. 0 0 0 1 1 1 0 0 0;
  30. 0 0 0 0 0 0 1 1 1;
  31. a 0 0 0 a 0 0 0 a;
  32. 0 0 0 0 0 0 0 0 a;]
  33.  
  34. [U, S, V] = svd(G);
  35. r=rank(G);
  36. // Les deux dernieres colonnes de V sont les deux vecteurs
  37. // du null space
  38. M1 = V(:, r+1); M2 = V(:, r+2);
  39. M1 = matrix(M1, 3, 3); M2 = matrix(M2, 3, 3);
  40. Up = U(:,1:r);
  41. Sp = S(1:r, 1:r);
  42. Vp = V(:,1:r);
  43.  
  44. // (7)
  45. Rm = Vp*Vp';
  46. Rmdiag = matrix(diag(Rm), 3, 3);
  47. // (8)
  48. Rd = Up*Up';
  49.  
  50. //calcul de l'inverse généralisé
  51. Ginvg = Vp*inv(Sp)*Up';
  52.  
  53. //test d'un modèle ( 0 0 0 0 1 0 0 0 0 )
  54. M = [0 0 0 0 1 0 0 0 0];
  55. D = G*M';
  56. Mapprox = Ginvg * D ;
Add Comment
Please, Sign In to add comment