Info
This question is closed. Reopen it to edit or answer.
eliminating some elements randomly from a matrix
    3 views (last 30 days)
  
       Show older comments
    
Suppose that I have a Matrix A and I want to eliminate k elements randomly from each column (1<=k<size(A,1))
so the remaining matrix, A' , would have the size equal to:
size(A',1)=size(A,1)-k,  size(A',2)=size(A,2)
How can I do this? Thank you.
0 Comments
Answers (1)
  Honglei Chen
    
      
 on 8 Oct 2013
        A = magic(5)
k = 2;
[M,N] = size(A);
ridx = zeros(k,N);
for m = 1:N
    ridx(:,m) = randperm(M,k);
end
cidx = repmat(1:N,k,1);
B = A;
B(sub2ind([M N],ridx(:),cidx(:)))=[];
reshape(B,M-k,[])
0 Comments
This question is closed.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
