How can I delete specific columns from a matrix?
이전 댓글 표시
I have a 3xn matrix of data, and anywhere that data is repeated I've converted it to a column of zeros. Now, I want to clear the zero columns and leave only the relevant data. How can I do this? I've tried:
for i = length(matrix):1
if matrix(1,i) == 0
matrix(:,i) = [];
end
end
and it doesn't work. Please help. Here is the matrix I'm currently working with:
Columns 1 through 15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Columns 16 through 30
0 0 0 0 0 0 0 9 0 0 0 10 0 11 11
0 0 0 0 0 0 0 2 0 0 0 6 0 1 6
0 0 0 0 0 0 0 3 0 0 0 8 0 7 9
Columns 31 through 36
0 0 12 12 0 0
0 0 1 2 0 0
0 0 4 8 0 0
채택된 답변
추가 답변 (2개)
Andrei Bobrov
2017년 7월 3일
your_mtx = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 10 0 11 11 0 0 12 12 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 6 0 1 6 0 0 1 2 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 8 0 7 9 0 0 4 8 0 0];
out = your_mtx(:,any(your_mtx));
Arezoo Samiei
2019년 4월 2일
0 개 추천
Use the following command is the other way
C = setdiff(A,B)
카테고리
도움말 센터 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!