Matlab 查找数组中从非零值变为零值的位置
可以使用 find 函数,在数组中查找值为 0 的位置,然后再用 diff 函数找到从其他数字变为 0 的位置。
例如,假设有一个数组 A:
A = [1 2 0 4 5 0 0 8];
首先找到值为 0 的位置:
zero_positions = find(A == 0);
然后用 diff 函数找到从其他数字变为 0 的位置:
diff_positions = zero_positions(diff(zero_positions) == 1) - 1;
这里 diff(zero_positions) == 1 找到相邻两个值为 0 的位置,然后 -1 是因为需要找到这两个位置之间的数字变为 0 的位置。在这个例子中,diff_positions 的结果是 [2, 5],表示 A 中第 3 个和第 6 个数字从其他数字变为 0。
原文地址: https://www.cveoy.top/t/topic/noDx 著作权归作者所有。请勿转载和采集!