作业帮 > 综合 > 作业

知道3点的坐标怎么用matlab编程求出一点距离三点的距离最近的点?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/03 04:55:09
知道3点的坐标怎么用matlab编程求出一点距离三点的距离最近的点?
提供你一个思路吧,你可以自己编写.
你题目说的不是很明确,但是,我猜是求一点到三点和最小的点.
这个点一点是与3点的连线,两两成120度的点,具体证明,你在网上再找找吧,然后由2点及这两点距离可以求出一个圆,使得圆上的点作为顶点与该2点的夹角为60或120度;同理可得另外一个圆,求这两圆交点即可.
再问: 那如果点多的话怎么办?比如是10个 ?
再答: 这样的话教你另外一种办法就是范围锁定的方法。 设有n个点(xi,yi),令遍历的范围为x=min(xi):max(xi);同理y=min(yi):max(yi); 然后遍历,求出最小的点的位置,然后等于锁定了区域,你可以在这个小区域中再划分小的,这样肯定能精确求出该点,不知道你明白了吗?
再问: 前辈 能编一下程序吗? 我程序不会
再答: 急要不? 不急的话,我晚上回去给你写,现在在公司电脑,没matlab程序。
再问: 谢谢前辈了
再答: A=[1,1;2,2;3,3]; [m,n]=size(A); f=1; x=[min(A(:,1)),max(A(:,1))]; y=[min(A(:,2)),max(A(:,2))]; smin=Inf; for i=x(1):f:x(2) for j=y(1):f:y(2) s=0; for k=1:m s=s+sqrt((i-A(k,1))^2+(j-A(k,2))^2); end if s