How to delete all rows made out of a certain vector/array/row values from a matrix?
조회 수: 1 (최근 30일)
이전 댓글 표시
data=
[1 1 1 2 2 12;
2 18 5 5 5 5;
5 1 1 5 5 5;
4 11 13 2 2 12;
5 1 1 5 5 5]
... (2093 lines)
mode = [5 1 1 5 5 5]
I found a way to find the mode row. In this preview, it's [5 1 1 5 5 5]. How do I remove such rows from the matrix?
댓글 수: 0
답변 (1개)
Adam
2017년 3월 10일
data( idx, : ) = [];
will delete a row (or multiple rows), idx, from a matrix. Since you say you already have a way to find the row you want I assume this is all you are asking?
댓글 수: 5
Adam
2017년 3월 10일
I'm not really getting what is going on here and what exactly modeRow contains, e.g. this simple example works fine:
a = [1 1 1 1; 2 2 2 2; 3 3 3 3; 4 4 4 4; 5 5 5 5];
myIdx = [1 3];
a( myIdx,: )
a( myIdx,: ) = []
Guillaume
2017년 3월 10일
@Tudor, since uA is a column vector, uA(modeIdx, :) is the same as ua(modeIdx), and since modeIdx is scalar, ua(ModeIdx, :) is scalar. So modeRow is scalar, so it's totally expected that only one row is removed.
modeRow = uIdx == modeIdx;
would fix your problem.
참고 항목
카테고리
Help Center 및 File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!