主题:怎么求距离啊?
lily020300633
[专家分:0] 发布于 2007-05-24 21:22:00
有一组数据x=[],y=[],和已知一个点坐标(x,y),现在要求这一组x=[],y=[]与已知点间的距离.要怎么编这个程序啊?
回复列表 (共10个回复)
沙发
hitzhang [专家分:30] 发布于 2007-05-25 10:17:00
不只是什么距离阿
板凳
灵光一现 [专家分:10] 发布于 2007-05-25 14:22:00
楼主的意思是不是求这组数据和(x,y)的最小距离啊?
比如x=[x1,x2,...,xn],y=[y1,y2,...,yn],距离d=inf(d((xi,yi),(x,y)))
我试了一个例子:
x=[1,2,3,4,5];
y=[5,4,3,2,1];
x0=1;
y0=1;
dd=[0,0,0,0,0];
for i=1:5
dd(1,i)=dd(1,i)+sqrt((x(1,i)-x0)^2+(y(1,i)-y0)^2);
end
ddd=min(dd);
disp(ddd);
运行结果:
2.8284
3 楼
lily020300633 [专家分:0] 发布于 2007-05-26 17:46:00
意思就是求这组数据和(x,y)的分别的距离
2楼的能不能解释下程序啊?有的地方看不懂,例如
x0=1;
y0=1;
dd=[0,0,0,0,0];
for i=1:5
dd(1,i)=dd(1,i)+sqrt((x(1,i)-x0)^2+(y(1,i)-y0)^2);
end
4 楼
chianelxie [专家分:670] 发布于 2007-05-26 20:19:00
什么叫分别的距离阿,没说清楚。
5 楼
Guassfans [专家分:4090] 发布于 2007-05-26 22:42:00
点坐标(x,y)用1*2的数组A[ , ](向量)表示
A[],B[]两点的距离:norm(B-A,2)(向量之二范数)
6 楼
83033174 [专家分:60] 发布于 2007-05-27 10:33:00
这样行吗?
function d=L(x,y)
x0=1;
y0=1;
% (x,y)为数组,是未知的,(x0,y0)为定点,是已知的。
d=sqrt((x0-x).^2+(y0-y).^2);
%这d就是距离。
7 楼
灵光一现 [专家分:10] 发布于 2007-05-28 13:33:00
[quote]
意思就是求这组数据和(x,y)的分别的距离
2楼的能不能解释下程序啊?有的地方看不懂,例如
x0=1;
y0=1;
dd=[0,0,0,0,0];
for i=1:5
dd(1,i)=dd(1,i)+sqrt((x(1,i)-x0)^2+(y(1,i)-y0)^2);
end
[/quote]
x0和y0是(x,y)的值,我这里随便设定了一个,就取1
dd是这两个个数组(例子中是两个1*5的矩阵,x是数组中点的x坐标矩阵,y是y坐标矩阵)中每个点到(x,y)的距离,如果分别求距离的话,得到的距离也是一个数组,就把dd的终值表示出来就是了
for循环里就是把数组里每个点和(x0,y0)的距离算出来
8 楼
catbird [专家分:30] 发布于 2007-05-28 17:39:00
%假设x,y与已知点(x0,y0)如下
x=[1 2 3 4 5];
y=[5 4 3 2 1];
x0=1;
y0=2;
X0=linspace(x0,x0,length(x));
Y0=linspace(y0,y0,length(y));
Distance=((x-X0).^2+(y-Y0).^2).^0.5
9 楼
lily020300633 [专家分:0] 发布于 2007-05-28 18:38:00
分别的距离就是说有x=[x1,x2,x3,x4] y=[y1,y2,y3,y4]要求他们与(a,b)的距离,得到的是(x1,y1)与(a,b)的距离
(x2,y2)与(a,b)的距离
(x3,y3)与(a,b)的距离
(x4,y4)与(a,b)的距离
10 楼
junlee [专家分:110] 发布于 2007-10-11 16:47:00
假定a,b分别为a=[1 2 3 4;2 3 4 5; 3 4 5 6 ];
b = [1;1;1];
%% 求点集a与一个定点b间的距离
clear;
a=[1 2 3 4;2 3 4 5; 3 4 5 6 ];
b = [1;1;1];
b=repmat(b,1,4); % 生成一个4列的b元素
c =sum((a-b).^2);
range = sqrt(c);
我来回复