如何从数据集中删除散点

时间:2013-02-21 18:39:25

标签: wolfram-mathematica noise-reduction

我有一个存储在矩阵中的点云坐标。很少有人与其他人分开。有谁知道我怎么能删除它们?点数显示在图片中。如果你能帮助我,我将不胜感激,因为我不是数学家:( 由于我是新用户,我无法上传图片,但是底部的点显示了我想要删除的4个散点的数据集。

 .......
 ........
  .........
  .........         .
  ..........       ..
  ......            .
  .....
  ...

1 个答案:

答案 0 :(得分:1)

以下是希望对您有所帮助的代码:

data = Table[{Random[], Random[]}, {100}];

DynamicModule[{p = {0.5, 0.5}, linePts = {}, p1 = {0., 0.}, 
  pts = data}, 
 Manipulate[
  Graphics[{Dynamic[Point[pts]], Locator[Dynamic[p]], 
    Line[Dynamic[If[p != p1, AppendTo[linePts, p]; p1 = p]; 
      linePts]]}], 
  Row[{Button["updata", 
     pts = Select[pts, ! Graphics`Mesh`InPolygonQ[linePts, #] &]], 
    Button["copy points", Print[Flatten[Position[data, #] & /@ pts]]],
     Button["Reset", linePts = {}; pts = data;]}]]]

您可以在绘图中绘制一个区域,然后在绘图中删除它们。 “更新”按钮将显示剩余点,“复制点”将复制剩余点位置,“重置”将重置为原始图。

enter image description here