Detect change between two values in an array
73 ビュー (過去 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!