我试图在matlab中根据欧几里德距离对一些数据进行分类唯一的问题是matlab给我的数字看起来像这些距离
0 + 4.9713i
0 + 7.8858i
num1<num2
num2<num1
两者都返回0.这怎么可能?
答案 0 :(得分:3)
你得到的数字是虚数。在计算欧几里德距离时,你永远不应该得到虚数。
检查您的欧几里德距离是否正确,例如
distance=sqrt(deltaX.^2 + deltaY.^2)
如果您确定您的距离应该是复数,请使用例如规范,即
norm(num2) > norm(num1)
这对我来说评估为true
。
答案 1 :(得分:1)
具有实部和虚部的数字不可订购。也许你的意思是按距离原点排序?