我有一个向量,stdclock,它保存遵循这种模式的值:
stdclock=[13 25 38 50 63 75 88 100 113 125 138 150 163 175 188 200 213 2517 2529 2542 2554 2567 2579 2592 2604 2617 2629 2642 2654 2667 2679 2692 2704 2717]
该数据是通过对相隔 12 或 13 个数字的 17 个值进行编码生成的(例如 25-13=12、38-25 = 13 等)。您会看到前 17 个值遵循此模式。每组 17 个值编码一个对象,我们将其称为“项目”,并且独立于随后的 17 个值。然后,在值 17 和 18 之间,存在比 12 或 13 大得多的差异,但它可以是任何高于 15 的数字。这种差异表示数据中的分离定性分离,使得前 17 个值编码一个项目,接下来的 17 个值编码另一个项目,等等。第 17 个和第 18 个值之间的差异永远不会像 12 或 13 一样小。因此,我可以检查任何值 >= 15,并确保我可以将我的这样的数据。或者,
到现在为止还挺好。问题是这个向量是通过硬件生成的,有时可能会出现错误,以至于一个或多个值被简单地丢弃而不被记录。我想找出一种算法来检测“项目”中缺少值,然后从该项目中删除所有剩余值。
我无法完全理解如何以适用于所有错误模式的方式执行此操作(例如,如果一个项目可以在任何地方以任何模式缺少数字,并且相邻项目也可能在任何地方的任何地方都缺少数字模式,或无处)。
任何帮助,将不胜感激。“损坏”项目的示例如下
stdclock=[13 25 38 50 63 75 88 100 113 125 138 150 163 175 188 200 213 2529 2542 2554 2567 2579 2592 2604 2642 2654 2679 2692 2704]
这个 stdclock 与上面的相同,但我在第二项中进行了检查并随机删除了数字,包括第一个和最后一个数字。