公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
677 浏览
Clear["Global`*"]
data = {{{-2.`, -5.6`*^-10}, {-1.8`, -4.`*^-10}, {-1.6`, \
-1.1000000000000001`*^-10}, {-1.4`, 1.05`*^-9}, {-1.2`, 
3.59`*^-9}, {-1.`, 6.75`*^-9}, {-0.8`, 1.036`*^-8}, {-0.6`, 
2.53`*^-8}, {-0.4`, 3.69`*^-8}, {-0.2`, 
4.7000000000000004`*^-8}, {0.`, 5.83`*^-8}, {0.2`, 
6.69`*^-8}, {0.4`, 7.180000000000001`*^-8}, {0.6`, 
7.57`*^-8}, {0.8`, 7.920000000000001`*^-8}, {1.`, 
8.2`*^-8}, {1.2`, 8.48`*^-8}, {1.4`, 8.63`*^-8}, {1.6`, 
8.9`*^-8}, {1.8`, 9.100000000000001`*^-8}, {2.`, 
9.34`*^-8}}, {{-2.`, -1.14`*^-9}, {-1.8`, -9.6`*^-10}, {-1.6`, \
-2.09`*^-9}, {-1.4`, 1.5000000000000002`*^-9}, {-1.2`, 
4.8`*^-9}, {-1.`, 1.02`*^-8}, {-0.8`, 
2.0300000000000003`*^-8}, {-0.6`, 3.13`*^-8}, {-0.4`, 
4.9200000000000004`*^-8}, {-0.2`, 6.42`*^-8}, {0.`, 
8.500000000000001`*^-8}, {0.2`, 1.0699999999999999`*^-7}, {0.4`, 
1.3`*^-7}, {0.6`, 1.34`*^-7}, {0.8`, 1.8`*^-7}, {1.`, 
1.9`*^-7}, {1.2`, 2.19`*^-7}, {1.4`, 2.48`*^-7}, {1.6`, 
2.69`*^-7}, {1.8`, 2.92`*^-7}, {2.`, 3.18`*^-7}}, {{-2.`, 
6.72`*^-11}, {-1.8`, 6.52`*^-11}, {-1.6`, 6.4`*^-11}, {-1.4`, 
5.67`*^-11}, {-1.2`, 3.31`*^-11}, {-1.`, 
3.9799999999999994`*^-11}, {-0.8`, 2.28`*^-10}, {-0.6`, 
6.05`*^-10}, {-0.4`, 1.2`*^-9}, {-0.2`, 
2.1100000000000004`*^-9}, {0.`, 3.25`*^-9}, {0.2`, 
4.55`*^-9}, {0.4`, 5.970000000000001`*^-9}, {0.6`, 
7.33`*^-9}, {0.8`, 8.83`*^-9}, {1.`, 1.15`*^-8}, {1.2`, 
1.3600000000000001`*^-8}, {1.4`, 1.56`*^-8}, {1.6`, 
1.7200000000000002`*^-8}, {1.8`, 1.9`*^-8}, {2.`, 
2.09`*^-8}}, {{-2.`, -2.0899999999999997`*^-11}, {-1.8`, \
-2.0600000000000002`*^-11}, {-1.6`, -2.04`*^-11}, {-1.4`, \
-2.05`*^-11}, {-1.2`, -2.03`*^-11}, {-1.`, -1.94`*^-11}, {-0.8`, \
-1.8699999999999997`*^-11}, {-0.6`, 9.300000000000001`*^-12}, {-0.4`, 
3.09`*^-11}, {-0.2`, 1.7399999999999997`*^-10}, {0.`, 
5.62`*^-10}, {0.2`, 1.1699999999999999`*^-9}, {0.4`, 
2.0600000000000003`*^-9}, {0.6`, 2.9`*^-9}, {0.8`, 
3.91`*^-9}, {1.`, 4.86`*^-9}, {1.2`, 5.84`*^-9}, {1.4`, 
6.56`*^-9}, {1.6`, 7.340000000000001`*^-9}, {1.8`, 
7.91`*^-9}, {2.`, 
8.33`*^-9}}, {{-2.`, -7.`*^-12}, {-1.8`, -6.9`*^-12}, {-1.6`, \
-7.`*^-12}, {-1.4`, -6.599999999999999`*^-12}, {-1.2`, -6.4`*^-12}, \
{-1.`, -6.2999999999999994`*^-12}, {-0.8`, \
-6.2999999999999994`*^-12}, {-0.6`, -4.8`*^-12}, {-0.4`, 
1.3000000000000001`*^-12}, {-0.2`, 2.6`*^-11}, {0.`, 
1.19`*^-10}, {0.2`, 3.0999999999999996`*^-10}, {0.4`, 
5.5`*^-10}, {0.6`, 8.609999999999999`*^-10}, {0.8`, 
1.0800000000000002`*^-9}, {1.`, 1.35`*^-9}, {1.2`, 
1.6300000000000002`*^-9}, {1.4`, 1.85`*^-9}, {1.6`, 
2.0600000000000003`*^-9}, {1.8`, 2.23`*^-9}, {2.`, 
2.3399999999999998`*^-9}}};
c = 299792458;
v = c 10^9/{365, 405, 436, 546, 577};
e = 1.6 10^-19;
pc = {365, 405, 436, 546, 577};
jl2[x_List] := (x[[1]][[2]] - x[[2]][[2]])/(x[[1]][[1]] - x[[2]][[1]]);
ModDistance2[x_] := jl2[{#1, #2}] &[Sequence @@ x]
fg[x_List] := 
Module[{l = Length@x}, Table[{x[[i]], x[[i + 1]]}, {i, 1, l - 1}]]
t = FindClusters[ModDistance2 /@ (fg@data[[#]]), 3] & /@ Range[5]; 
add[x_List] := Table[Tr@(x[[;; i]]), {i, 1, Length@x}];
d[x_List] := 
Module[{l = Length@x, r}, r = Table[Length@x[[i]], {i, 1, l}]; 
Prepend[add[r], 1]]
sp[x_List, y_List] := {x[[;; y[[2]] + 1]], 
x[[y[[2]] + 2 ;; y[[3]] + 1]], x[[y[[3]] + 2 ;;]]}
tj = ListPlot[#, 
PlotMarkers -> {"\[FilledSquare]", "\[FilledCircle]", 
"\[FilledUpTriangle]"}] & /@ (sp[data[[#]], d[t[[#]]]] & /@ 
Range[5])









不知道为什么这个程序每次运行都不一样 找了很久发现好像是FindClusters 出了问题 大家能解释一下吗?

这个程序的目的是想取将一组点中线性关系相近的点取出来

比如图中的点,我想把红色斜率较低的点和黄色斜率较高的点分开

问题关闭原因: 问题已经没意义了
用户: 新手 (81 分)
已关闭 用户:新手
...