필터 지우기
필터 지우기

delete value in matrix with condition

조회 수: 1 (최근 30일)
ha ha
ha ha 2019년 3월 4일
댓글: ha ha 2019년 3월 4일
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
KSSV
KSSV 2019년 3월 4일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

madhan ravi
madhan ravi 2019년 3월 4일
편집: madhan ravi 2019년 3월 4일
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
>>

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by