2012-11-13 3 views
1

내가 가진 배열제거 특정 요소 (MATLAB)

A = [7 4 6 1 2 3 5] 
B = [1 5 4 0 0 2 0] 

(배열 A 항상 임의의 순서로 번호 length=7이있을 것이다.)

내가 유지하려면 A의 순서는 B의 해당 색인이 >0 인 경우에만 값을 유지합니다.

위의 예에서 A[6 1 2 3]으로 변경하고 싶습니다. B에있는 7 번째, 4 번째 및 5 번째 원소의 의미는 0이므로, A에서 7, 4 및 5 값을 삭제하십시오.

루프없이 이것을하고 싶습니다.

답변

2

A (B (A)> 0)

나 :

A (발견 (B (A)))

나는 후자를 생각하지만 덜 효율적입니다

+0

아, 너무 간단합니다! 정확히 내가 뭘 찾고 있었는지, 고마워. –

+3

@RodyOldenhuis OP가 A가 항상 randperm (7) 인 것처럼 보입니다.이 대답이 맞습니다. – Dan