如何提取6 neasrest neigbors粒子吗

2视图(30天)
大家好。
我有一个文本文件(请参见附加的文本文件)包含的粒子邻居(从1到64)。我想提取6最近的邻居的每个粒子在一个独立的文件。
下面是示例的输出文件。列1和图2显示粒子数,第三列显示的距离。
1 19 0.874004
1 41 1.130905
1 42 1.131306
1 45 0.841402
1 50 1.393870
1 52 0.961277
1 61 0.802248
1 63 1.327221
1 64 1.408026
2 16 0.819803
2 33 1.153725
2 37 0.954796
2 39 1.439849
2 42 1.419793
2 58 1.140030
2 60 0.912613
2 63年1.454144
3 6 0.843783
3 7 1.071621
3 9 1.009899
3 10 1.254684
3 13 1.108856
3 14 1.015914
3 20 0.885181
3 35 1.263609
3 45 1.356776
3 51 1.268250
4 5 1.197906
4四十1.238262
4 49 1.131004
4 53 1.207126
4 54 0.848770
4 57 1.278407
4 59 1.398415
4 62 0.782374
4 64 0.872153
我想要的是输出
1 19 0.874004
1 41 1.130905
1 42 1.131306
1 45 0.841402
1 50 1.393870
1 52 0.961277
2 16 0.819803
2 33 1.153725
2 37 0.954796
2 39 1.439849
2 42 1.419793
2 58 1.140030
3 6 0.843783
3 7 1.071621
3 9 1.009899
3 10 1.254684
3 13 1.108856
3 14 1.015914
4 5 1.197906
4四十1.238262
4 49 1.131004
4 53 1.207126
4 54 0.848770
4 57 1.278407
任何帮助将不胜感激。
提前谢谢,
2的评论
阿斯利瓦斯塔瓦
阿斯利瓦斯塔瓦 2021年5月11日
下面是我的代码:
%代码6测定工业最近的邻居
清晰的
clc
一个=负载(“particle-distance.txt”);
b =一个;
数= 0;
natoms = 64;
我= 1:natoms
j = 1:长度(a)
如果(j, 1) = =我
数=计数+ 1;
如果数> = 6
str = [int2str ((j, 1)),' ',int2str ((j, 2)),' 'num2str ((j, 3)));
disp (str)
结束
结束
结束
结束

登录置评。

接受的答案

为副总经理
为副总经理 2021年5月11日
编辑:为副总经理 2021年5月11日
这可能是改善,但这是我所做的:
A = [1 19 0.874004;
1 41 1.130905;
1 42 1.131306;
1 45 0.841402;
1 50 1.393870;
1 52 0.961277;
61 0.802248;
63 1.327221;
64 1.408026;
2 16 0.819803;
2 33 1.153725;
2 37 0.954796;
2 39 1.439849;
2 42 1.419793;
2 58 1.140030;
2 60 0.912613;
63 1.454144;
3 6 0.843783;
3 7 1.071621;
3 9 1.009899;
3 10 1.254684;
3 13 1.108856;
3 14 1.015914;
3 20 0.885181;
3 35 1.263609;
3 45 1.356776;
3 51 1.268250;
4 5 1.197906;
4个40 1.238262;
4 49 1.131004;
4 53 1.207126;
4 54 0.848770;
4 57 1.278407;
4 59 1.398415;
62 0.782374;
4 64 0.872153)
%按距离排序
[~,深度贴图]=排序((:,3),“提升”);
=(深度贴图:);
npoints =元素个数(独特的((:1)));
idx = [];
p = 1: npoints
%这将找到最多6场比赛
idx = [idx找到((:1)= = p, 6)];
结束
一个= (idx:)
给了
一个=
1 61 0.80225
1 45 0.8414
1 19 0.874
1 52 0.96128
1 41 1.1309
1 42 1.1313
2 16 0.8198
2 60 0.91261
2 37 0.9548
2 58 1.14
2 33 1.1537
2 42 1.4198
3 6 0.84378
3 20 0.88518
3 9 1.0099
3 14 1.0159
3 7 1.0716
3 13 1.1089
4 62 0.78237
4 54 0.84877
4 64 0.87215
4 49 1.131
4 5 1.1979
4 53 1.2071
12个评论
阿斯利瓦斯塔瓦
阿斯利瓦斯塔瓦 2021年6月3日
上面的代码工作。
非常感谢你的帮助。

登录置评。

更多的答案(0)

类别

找到更多的在只是为了好玩帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!