【问题标题】:Normalized distance between two points - MATLAB [closed]两点之间的归一化距离 - MATLAB [关闭]
【发布时间】:2016-09-13 10:42:23
【问题描述】:

我想标准化两点之间的欧几里得距离,使其介于 0 和 1 之间。 点表示如下:(x,y)。

有什么想法吗?

【问题讨论】:

  • 我的想法:你尝试过什么?你为什么要这个?这个问题太笼统了。
  • 要规范化,您要么需要:a) 指定规范化所基于的参考,或者 b) 基于距离进行规范化,在这种情况下,您只需除以距离和您的归一化距离然后变为 1。
  • 我使用 PSO 进行图像处理。适应度函数有两个部分:第一个是归一化的,另一个是测试图像和训练图像中像素之间的距离。距离未归一化,导致适应度函数不一致。

标签: matlab normalization euclidean-distance


【解决方案1】:

这是一个解决方案,但是,我敦促您阅读我对上述问题的评论。另外,请考虑@Adriaan 的评论以供将来参考!

% First point
x1 = 5;
y1 = -2;

% Second point
x2 = 12;
y2 = 9;

% Absolute distance between the points is your normalization factor
normFactor = sqrt((x1-x2)^2 + (x1-x2)^2);

用 normFactor 划分欧几里得空间中的所有内容。如果你划分你的距离,你当然会得到距离 = 1

【讨论】:

  • 你不需要用绝对距离来计算 dx 和 dy,因为你在下面对它们进行平方。
猜你喜欢
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2011-07-10
  • 1970-01-01
  • 2013-02-14
  • 1970-01-01
  • 2019-01-23
  • 2012-07-17
相关资源
最近更新 更多