이 행렬의 크기는 10000입니다. 일부 행을 제거하려면 임의의 위치에서 50을 말하게하십시오. 행을 제거한 후 행렬의 크기는 9950이됩니다. 따라서 원래의 10000에서 모든 요소의 인덱스를 가져올 수 있습니다. 원래 행렬의 인덱스로 9999 번째 요소의 값을 가져 오려고한다고 가정 해보십시오. 하지만 이제는 새 행렬의 크기가 일부 행을 제거한 후 9950이므로 원래 행렬에서 9999 번째 요소를 어떻게 알 수 있습니까? 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?행렬에서 일부 행을 제거한 후 요소의 새 색인을 가져옵니다.
0
A
답변
2
매트릭스를 무작위로 축소하려고하지만 각 요소의 출처를 기억하고 있습니까? 그리고 원래 요소가 어디에서 끝났는 지 알아? 이를 수행하는 한 가지 방법은 축소 된 행렬의 요소가 어디서 왔는지를 기억하는 색인을 유지하는 것입니다.
이러한 요소가 어디에서 온의 원래 행렬
A = rand(10000,1);
기억 인덱스입니다 생각한 것은 : 이제
A_idx = [1:length(A)]';
, @yuk에서 빌리의 무작위 일부 요소를 제거 할 수 :
를rp_idx = randperm(numel(A));
kill = rp_idx(1:50);
A(kill) = [];
A_idx(kill) = [];
이제는이 절차를 수행하고 요소를 제거하는 여러 번, origina l 위치는 A(i)
이고 A_idx(i)
입니다.
원래 행렬의 k 번째 요소
이제 새로운 수축 매트릭스new_idx = find(A_idx == k)
에서 찾을 수있다. 찾고있는 요소가 제거 된 요소 중 하나 인 경우 new_idx
은 비어 있습니다.
0
일반적으로 제거 할 요소의 색인이 있으면 한 번에 모두 제거 할 수 있습니다. 예를 들어, 10000 벡터 A
중에서 50 개 요소의 임의 인덱스를 생성합니다. 당신이 어떤 이유로, 요소를 하나씩 제거 인덱스를 정렬하고 끝에서 시작해야하는 경우
rp_idx = randperm(numel(A));
rp_idx_50 = rp(1:50);
그런 다음 우리는
A(rp_idx_50) = [];
로 그 (50 개) 요소를 제거 할 수 있습니다. 이 경우 새 색인을 찾을 필요가 없습니다.
관련 문제
- 1. 일부 행을 삭제 한 후 테이블에 새 행을 삽입합니다. sqlite
- 2. PageRequestManagerParserErrorException 페이지에서 일부 html을 제거한 후
- 3. sql에서 행을 제거한 후 페이지를 다시로드하십시오.
- 4. 끌기 후 캔버스 자식 요소의 위치를 가져옵니다.
- 5. 행렬에서 일치하는 행을 찾으십시오.
- 6. JTable에서 행을 제거한 후 셀 편집을 중지하는 방법
- 7. 요소의 JQuery와 인덱스를 가져옵니다 - 단지 나는이 같은 일부 코드가 요소
- 8. 행렬에서 중복 행을 제거하는 방법
- 9. xml 요소를 제거한 후 빈 행을 제거 하시겠습니까?
- 10. 회전 목마에서 ul의 색인을 가져옵니다.
- 11. 제거한 후 명령 실행
- 12. HashSet에서 제거한 후 제거하십시오.
- 13. iPhone에서 하위보기를 제거한 후 테이블보기 새로 고침
- 14. NSFetchedResultsController - 섹션에서 모든 행을 제거한 후 오류가 발생합니다.
- 15. 테이블 행을 제거한 후 표 행 강조 표시
- 16. updatePanel 내에서 linkbutton에서 행을 제거한 후 Gridview가 업데이트되지 않습니다.
- 17. NAs를 제거한 후 다시 추가
- 18. matlab에서 min 요소의 색인을 찾으십시오.
- 19. 테이블 중간에 행을 가져옵니다.
- 20. 파이썬에서 행렬에서 행을 추출하고 Matplotlib에서 해당 행을 색으로 사용합니다.
- 21. GAC에 원본 파일을 제거한 후
- 22. WiX를 사용하여 제거한 후 재부팅
- 23. 지도에서 제거한 후 다각형을 작성하십시오.
- 24. 성공적으로 제거한 후 롤백이 발생합니다.
- 25. Subview를 제거한 후 Reload UITableView
- 26. Blackberry - 항목을 제거한 후 ListField가 스크롤하지 못하도록합니다.
- 27. 엘리먼트를 숨긴 CSS를 제거한 후 애니메이션하기
- 28. 새 행을 추가 한 후 JTable에 새 모델이 표시되지 않습니다.
- 29. xml 요소의 경로를 동적으로 가져옵니다.
- 30. 정규식을 사용하여 문자열의 패턴 색인을 가져옵니다.
행을 제거하는 방법에 따라 달라집니다 - 행렬 생성을 보여주는 (재현 가능한) 코드의 작은 조각을 제공하고 & 제거 할 행을 결정하는 방법은 무엇입니까? 건배. –
나는 그것을 알아 냈다. 난 그냥 원래의 인덱스를 사용할 수 있습니다 - 요소의 수를 제거하려면 새 매트릭스에서 요소의 인덱스를 가져옵니다. –
아니, 할 수 없습니다. 원래 색인이 40이라고하면 제거 된 수에서 50을 뺀 값이 -10이며 유효한 색인이 아닙니다. 삭제 된 엘리먼트의 수를 원래의 인덱스까지 감산해야합니다. 따라서 제거한 엘리먼트의 인덱스를 저장해야합니다. –