📅  最后修改于: 2023-12-03 14:55:38.008000             🧑  作者: Mango
标准距离(euclidean distance)是指在n维空间中,两点间距离的计算方法,称为欧几里得距离,也叫做欧氏距离。
在二维平面上,点 $A(x_1,y_1)$ 与点 $B(x_2,y_2)$ 之间的距离计算方法为:
$d = \sqrt{(x_1-x_2)^2+(y_1-y_2)^2}$
在三维空间中,点 $A(x_1,y_1,z_1)$ 与点 $B(x_2,y_2,z_2)$ 之间的距离计算方法为:
$d = \sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2}$
在n维空间中,点 $A(a_{1},a_{2},...,a_{n})$ 与点 $B(b_{1},b_{2},...,b_{n})$ 之间的距离计算方法为:
$d = \sqrt{(a_{1}-b_{1})^2+(a_{2}-b_{2})^2+...+(a_{n}-b_{n})^2}$
在C++中,我们可以使用sqrt函数来求平方根,pow函数求幂次方。
代码示例:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n;
cout<<"请输入维度:";
cin>>n;
double a[n],b[n],sum=0;
cout<<"请输入第一个向量:";
for(int i=0;i<n;i++)
cin>>a[i];
cout<<"请输入第二个向量:";
for(int i=0;i<n;i++)
cin>>b[i];
for(int i=0;i<n;i++)
sum+=pow(a[i]-b[i],2);
cout<<"标准距离为:"<<sqrt(sum)<<endl;
return 0;
}
代码说明:
输入示例:
请输入维度:3
请输入第一个向量:1 2 3
请输入第二个向量:4 5 6
标准距离为:5.19615
输出示例:
请输入维度:5
请输入第一个向量:1 2 3 4 5
请输入第二个向量:3 4 5 6 7
标准距离为:5.47723