我有一个迭代和随机修剪一个巨大的整数向量的过程,我想找出每次迭代之间删除了哪些元素。这个向量有很多重复,使用 ismember() 和 setdiff() 对我没有多大帮助。
作为说明,如果 X = [1,10,8,5,10,3,5,2]:
step 0: X = 1,10,8,5,10,3,5,2
step 1: X = 1,10,8,10,3,5,2 (5 is removed)
step 2: X = 1,10,8,3,2 (10 and 5 are removed)
step 3: X = 10,8,3,2 (1 is removed)
step 4: X = 2 (10, 8 and 3 are removed)
step 5: X = [] (2 is finally removed)
我的目标是找到在每个步骤中删除的元素(即 5 然后,10 和 5 等等)。我可能会hist(X, unique(X))
在步骤之间找到一个过于复杂的解决方案,但我认为 matlab 中存在一个更优雅(更便宜!)的解决方案。