Detect change between two values in an array
70 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Muneer
el 1 de Oct. de 2013
Comentada: Image Analyst
el 25 de Ag. de 2018
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 comentarios
Respuesta aceptada
Sean de Wolski
el 1 de Oct. de 2013
Editada: Sean de Wolski
el 1 de Oct. de 2013
x = [1 1 2 3 4 4 5 6 6 6 6 7];
diff(x)==0 %?
4 comentarios
Brandon Leonard
el 16 de Abr. de 2018
Editada: Brandon Leonard
el 16 de Abr. de 2018
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?
Más respuestas (1)
Image Analyst
el 1 de Oct. de 2013
Try this:
x=[ 0 0 4 5 7 3 3 87 2 5 1 1]
changedIndexes = diff(x)~=0
6 comentarios
Image Analyst
el 25 de Ag. de 2018
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".
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!