Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.44 KB | None | 0 0
  1. function [indexes,r] = ownOMP( A, y, K)
  2.  
  3. r=y;
  4. lambda = zeros(size(A,1),1);
  5. indexes = zeros(size(A,1),1);
  6. Anew = zeros(size(A,1),K);
  7. for k=1:K
  8.     w = (A'*r);
  9.     [~, I] = max(abs(w));
  10.     Anew(:,k) = A(:,I);
  11.     indexes(k) = I;
  12.     A(:,I) = [];
  13.     Anewp = pinv(Anew(:,1:k));
  14.     lambda(1:k) = Anewp * y;
  15.     r = y - Anew(:,1:k)*lambda(1:k);
  16.     display(k);
  17. end
  18.  
  19. for in = 1:size(A,1)
  20.     indexes(in) = lambda(indexes(in));
  21. end
  22.  
  23. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement