用matlab通过3个已知点求一未知点坐标,使该未知点点到其他点的距离只和最短 200
y(1)=-13.25,y(2)=-13.72,y(3)=-10.8
求出的点最好不在这三个点组成的三角形内
帮帮忙咯 给出matlab语言 展开
和你的问题比较相近的有个所谓“几何中心”(Centroid)概念,这方面有个重要的结论:【有限个点总存在几何中心,可以通过计算这些点的每个坐标分量的算术平均值得到。这个中心是空间中一点到这有限个点距离的平方和的惟一最小值点。】
不太理解你的这一点要求:【求出的点最好不在这三个点组成的三角形内】。上面说到的几何中心是距离平方和最小,而你要的是距离之和最小,两个概念有些差别,是否一致是否一致我说不好,但应该差别不会很远,至少,都在三角形之内应该是可以预期的。
我试过想通过解析的方法求出这个点,但中学数学学的不太好,大学的很多知识也我忘的差不多了,没能求出来(也许这方面早有明确的结论也说不准)。
如果通过数值的方法求解,就是一个最优化问题,编程应该不难,但还是要和题主确认一下:你所说的【求出的点最好不在这三个点组成的三角形内】是硬性约束吗?如果是是必须考虑的约束,可能会麻烦很多,而且,还有一个问题:可以在三角形的边上吗?
我简单画图试了一下,直观的印象是,如果不允许在三角形之内,那么最小值应该就在三角形的边上,参见下图:
图中,以距离三点的距离和为函数,对x、y取不同点,然后画出等高线来(原始数据三点非常接近一条直线,为清晰起见,我改了第一个点的纵坐标)。由图可见,如果排除三角形内部的区域,则最小值点应该会落在上面的那个边上。
如果不允许包括三角形的边,那么问题应该是无解的——因为,优化问题的基本要求是,可行域必须是封闭的。
正月初二补充:最近两天经常想这个问题,也在网上查找了大量与三角形中心相关的文章(因为我相信这个问题应该会有人研究过),终于找到了完美的答案。
由于问题已被管理员采纳,无法修改,而且在电脑上还无法补充,所以,只能用手机版APP简单说一下。
这样的点称为费马点,最早是由法国数学家皮埃尔·德·费马在一封写给意大利数学家埃万杰利斯塔·托里拆利(气压计的发明者)的信中提出的。托里拆利最早解决了这个问题,而19世纪的数学家斯坦纳重新发现了这个问题,并系统地进行了推广,因此这个点也称为托里拆利点或斯坦纳点。
当三角形有一个内角不小于120°时,费马点即为此角对应顶点。你给的原始数据就属于这种情况。