delete value in matrix with condition
    3 views (last 30 days)
  
       Show older comments
    
Let's say, I have 2 matrix:
A=[1 9 5 6;2 1 4 5;3 4 3 5];%matrix A
dist_A=[0.1 0.6 0.4 0.5; 0.5 0.1 0.2 0.3; 0.2 0.9 0.7 0.4];%matrix dist_A
condition=0.5;%this is value to check condition
A=[1 9 5 6
     2 1 4 5
     3 4 3 5];
dist_A=[0.1   0.6   0.4   0.5
            0.5    0.1  0.2   0.3
            0.2    0.9  0.7   0.4];
My question is:
1/ I want to delete values in matrix  "dist_A" that satisfy condition: If that value <= condition(0.5)
I hope the result is:
result_dist_A=[0.1  0.4 ;  0.1  0.2  0.3; 0.2  0.4];
2/  Delete the value in matrix A having the same index of the deleted value in matrix  "dist_A"
I hope the result is:
result_A=[1  5 ; 1  4  5; 3  5];
1 Comment
  KSSV
      
      
 on 4 Mar 2019
				result_A=[1  5 ; 1  4  5; 3  5];
The above will trhow an error. I would suggest you to replace the unwanted value with NaN...so that dimensions remain apt and no error pops out. 
Accepted Answer
  madhan ravi
      
      
 on 4 Mar 2019
        
      Edited: madhan ravi
      
      
 on 4 Mar 2019
  
      R=arrayfun(@(x)A(x,dist_A(x,:)<0.5),1:size(dist_A,1),'un',0);
R{:}
Gives:
ans =
     1     5
ans =
     1     4     5
ans =
     3     5
>> 
More Answers (0)
See Also
Categories
				Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!