【问题标题】:How to delete scattered points from a data set如何从数据集中删除散点
【发布时间】:2013-02-21 18:39:24
【问题描述】:

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

....... ........... ………… ………… ………… ………… ...... ...

【问题讨论】:

  • 我认为您可以将点绘制为图形,然后使用herehere 的方法将其删除。

标签: wolfram-mathematica noise-reduction


【解决方案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;]}]]]

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

【讨论】:

    猜你喜欢
    • 2015-03-05
    • 2015-08-23
    • 2021-12-20
    • 2022-11-26
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    相关资源
    最近更新 更多