APLX从掩码中删除单个1

时间:2014-03-08 21:17:23

标签: apl

有人知道如何使用APLX从位掩码中删除sinlge 1吗? 示例:1 0 1 1 1 0 0 1 0 1到           0 0 1 1 1 0 0 0 0 0

非常感谢。

2 个答案:

答案 0 :(得分:1)

这是一种方式:

      b←1 0 1 1 1 0 0 1 0 1
      1↓e∧(¯1⌽e)∨1⌽e←0,b
0 0 1 1 1 0 0 0 0 0

如果原始向量中有1,则为1,后面或前面为1.

答案 1 :(得分:0)

这是一种方法。首先,使用find函数定位2个连续1的所有出现,然后使用移位和比较技术将1的所有运行扩展为1:

      a←1 0 1 1 1 0 0 1 0 1
      b←1 1⍷a
      b
0 0 1 1 0 0 0 0 0 0
      b∨0,¯1↓b
0 0 1 1 1 0 0 0 0 0