作者mangobrother (芒果哥)
看板MATLAB
标题[讨论] 每连结一点寻找最近座标点
时间Mon Dec 10 02:00:11 2012
还是MATLAB新手...
一切都是自学 所以写的内容不好看请见谅
------------------------------------------------------
下面是写得很丑的CODE
function node
x_node = 100*rand(10,1); %取X轴的乱数
y_node = 100*rand(10,1); %取Y轴的乱数
result = cat(2,x_node,y_node); %合并X轴与Y轴座标点
[u,v] = max(sqrt((x_node-50).^2+(y_node-250).^2)); %找出离BS最远的NODE距离并储
存到U,V,V为第几位
disp('Leader座标点 = ');
disp(result(v,:)); %leader座标
disp('Leader顺序为 = ');
disp(v); %leader顺序
%disp(u);离BS最远距离
node_number = length(x_node);
for x = 1:node_number %计算任意两点之间的距离
for y = 1:node_number
any_two_distance(x,y) =(sqrt((x_node(x) - x_node(y)).^2 + (y_node(x) -
y_node(y) ).^2)); %将结果写入对应的矩阵
end
end
disp(any_two_distance);
end
目前已经可以找出各个点之间彼此的距离
接下来是想要从leader点开始连接最近的点
首要是先找出除了leader外另外九点离leader最近的点进行连线
连到第二个点後,寻找第三个未被连接过的最近点进行连线
目前卡在这边有点没头绪
卡住的问题有
1.
如何判定点并未连接过?
2.动态调整一开始先连结一到二 再来从二到三
知道连线是用plot 但是也得照顺序输入值才可以....
有搜寻过一些关键字 但没有找到作法
会做这个也是为了帮助朋友,但发现自己真的还有待加强 囧
还烦请一些关键字指点或小片段的程式提示了
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.165.134.117
1F:推 sunev:用一个矩阵来存有没有连过。 12/10 03:08
2F:→ forloricever:看叙述很像是 Prim's Algorithm 12/10 06:13