matlab求五个已知点中距离最近的两个点,并标记出来

或者已知一个点的坐标,求其余点中与它距离最近的点,并标记出来... 或者已知一个点的坐标,求其余点中与它距离最近的点,并标记出来 展开
 我来答
qingningleyun
2015-04-19 · TA获得超过5852个赞
知道大有可为答主
回答量:2991
采纳率:30%
帮助的人:3013万
展开全部
%% 随机产生N个点
N = 5;
A = randint(N,2,[1 20]);
for p = 1:N
    x = A(p,1);
    y = A(p,2);
    plot(x,y,'o');
    hold on
    text(x+0.5,y+0.5,num2str(p));
end
axis([0 30 0 30]);
axis equal
grid on
dd = pdist(A)';
mind = min(dd);
id = find(dd==mind);
ppp = [nchoosek(1:N,2) pdist(A)'];
for p = 1:length(id)
    k = id(p);
    ppp(k,:)
    x1 = A(ppp(k,1),1);
    y1 = A(ppp(k,1),2);
    x2 = A(ppp(k,2),1);
    y2 = A(ppp(k,2),2);
    plot(x1,y1,'ro');
    plot(x2,y2,'ro');
    line([x1 x2],[y1 y2]);
    text(x1+1,y1-1,['mind = ' num2str(dd(k))]);
end
hold off
追问

如果是这样的五个点呢,上一步得到了他们的坐标(plot_y(i),plot_x(i)),十分感谢!

追答
A = [plot_x(:),plot_y(:)];
...
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式