How to delete adjacent values
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello
I have a vector of 1400x1 with several adjacent values (values with a difference of less than 1).
For example, my data looks like
A = [1 5 6 7 8 9 10 11 12 20 21 22 23]'
I'd like to delete the row that is adjacent to the previous one, so my expected outcome will be [1; 5; 20]
Any ideas on how to do this? I appreciate your help!
댓글 수: 0
채택된 답변
Davide Masiello
2022년 10월 25일
A = [1 5 6 7 8 9 10 11 12 20 21 22 23];
A([false,diff(A) == 1]) = []
댓글 수: 5
Image Analyst
2022년 10월 26일
But since you said "a difference of less than 1" you'd want <1 instead of == 1
A([false;diff(A) < 1]) = []
Of course then your expected outcome is not right. Maybe you mean "a difference of 1 or less" in which case it would be
A([false;diff(A) <= 1]) = []
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!