Can the diff function go the opposite direction?
28 次查看(过去 30 天)
显示 更早的评论
Hello,
As I understand diff it goes either left to right along rows or up to down a column. Is there a way to make diff do the same thing it currently does but go right to left or down to up?
Thanks,
Teddy
0 个评论
采纳的回答
Jeremy
2019-12-18
sure, flip your matrix with
fliplr
or
flipud
and then run
diff
3 个评论
Jeremy
2019-12-19
Wouldn't you fliplr the original array, call diff on it, and then flip the resulting array again to get what you want?
Steven Lord
2019-12-19
So you want to detect when the abs-olute diff-erence between adjacent elements is exactly 1?
If you know that your data only contains 0 and 1 (or false and true) it's even easier than using abs and diff.
x = randi([0 1], 1, 10)
d = [x(1:end-1) ~= x(2:end), 0]
[x; d]
Each element of d is true when the corresponding element of x differs from the next element in x. I set the last element of d to false because it doesn't make sense to ask if the last element is different from the nonexistent next-after-the-last element.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!