Detect change between two values in an array
조회 수: 70 (최근 30일)
이전 댓글 표시
Is there any function in Matlab that allows you to read through a column in an array and see if a previous value is the same as a current value? I know there is the "detect change" function block in Simulink and was looking to do something similar with code, however.
댓글 수: 0
채택된 답변
Sean de Wolski
2013년 10월 1일
편집: Sean de Wolski
2013년 10월 1일
x = [1 1 2 3 4 4 5 6 6 6 6 7];
diff(x)==0 %?
댓글 수: 4
Brandon Leonard
2018년 4월 16일
편집: Brandon Leonard
2018년 4월 16일
Sean de Wolski would this same approach work for two values from data collected (e.g. day = 1; night = 2) to locate where this change occurs in continuous data if data was stored in a timeseries? Could it be logged as a event(e.g. tsdata.event.EventData = logical(diff(x)) somehow?
추가 답변 (1개)
Image Analyst
2013년 10월 1일
Try this:
x=[ 0 0 4 5 7 3 3 87 2 5 1 1]
changedIndexes = diff(x)~=0
댓글 수: 6
Image Analyst
2018년 8월 25일
Table variables can be nan, just like double variables. Actually a column of a table has to be a predetermined type, like double, char, int32, or whatever. So if a column is double, then it's allowable for a row in that double column to have a value of "nan".
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!