0

可以在这里找到 Minkowski 的距离方程。

如果我们想计算 中的 Minkowski 距离MATLAB,我认为我们可以执行以下操作(如果我错了,请纠正我):

dist=pdist([x(i);y(j)],'minkowski');

到目前为止,上述命令将执行链接中显示的等式。

现在,对于 Minkowski 的距离,我想添加这部分|-m(i)|^p,其中m(i)有一些价值。

我看到了pdist源代码,但是,想问一下,如何通过添加这个简单的部分来修改 Minkowski 的距离,无论是在pdist代码中,还是从调用代码中(我认为我们可能必须对参数进行一些更改)。

谢谢。

4

1 回答 1

2

我认为这可以满足您的要求:定义自定义距离函数并将其用作以下参数pdist

p = 2;
fun = @(x,y) sum(abs(x-y).^p + abs(m(i)).^p ).^(1/p);
pdist([x(i);y(j)],fun)

或者直接使用

sum(abs(x(i)-y(j)).^p + abs(m(i)).^p ).^(1/p)

我假设iandj只是贯穿xand元素的索引y

于 2014-01-07T13:28:09.757 回答