c++计算两个向量的L2距离
时间: 2023-07-23 08:07:28 浏览: 103
计算两个向量的 L2 距离可以通过以下步骤实现:
1. 确保两个向量具有相同的维度。
2. 对应位置上的元素相减。
3. 将每个元素差的平方累加起来。
4. 对累加结果取平方根。
以下是一个 C++ 的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <cmath>
// 计算两个向量的 L2 距离
double calculateL2Distance(const std::vector<double>& v1, const std::vector<double>& v2) {
if (v1.size() != v2.size()) {
std::cerr << "Error: Vector dimensions do not match." << std::endl;
return -1;
}
double sum = 0.0;
for (size_t i = 0; i < v1.size(); i++) {
double diff = v1[i] - v2[i];
sum += diff * diff;
}
return std::sqrt(sum);
}
int main() {
// 示例用两个向量
std::vector<double> v1 = {1.0, 2.0, 3.0};
std::vector<double> v2 = {4.0, 5.0, 6.0};
// 计算 L2 距离
double distance = calculateL2Distance(v1, v2);
// 输出结果
std::cout << "L2 Distance: " << distance << std::endl;
return 0;
}
```
在上述示例中,我们定义了一个 `calculateL2Distance` 函数,它接受两个向量 `v1` 和 `v2` 作为参数,并返回它们的 L2 距离。在 `main` 函数中,我们使用示例向量调用该函数,并输出计算结果。