delete value in matrix with condition
1 view (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 Get Started with MATLAB 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!