计算数据帧内的最小欧几里德距离

时间:2014-11-19 02:17:20

标签: matlab

我有一个数据框

x=[1;2;3;4;5]

我想找到最小欧几里德距离(ED)。我是手动完成的,因为我不擅长编程。我希望有人会帮助我。

手动方式是:

assign the first data to a variable A
A=1;
assign the second data to a variable b
B=2;
assign the third data to variable C and so on until the last data.
find the ED
D1=norm(A-B);
find the second ED
D2=norm(B-C);
D3=norm(C-D);

find the minimum ED
minxED=min(D1,D2,D3)

请帮帮我。我想稍微扩展一下这个问题..

现在数据框的格式为[3000 X 13]。

如何计算每行的ED(总共3000行,并计算它的平均值?

以前,我使用下面给出的答案

y = min(abs(x(2:end) - x(1:end-1);
y1= min(abs(z(2:end) - z(1:end-1);
y2=min(abs(s(2:end) - s(1:end-1);

然后将答案分配给变量ans;

an1=[y,y1,y2];
then find the average
avr=mean(an1);

怎么做?非常感谢

1 个答案:

答案 0 :(得分:0)

如果我正确地回答了您的问题,那么您似乎想要这样的事情:

minxED = min(abs(x(2:end) - x(1:end-1)));

获取向量x中相邻元素之间的L1距离,然后找到最小距离。