请用vector写出c++向量点积计算
下面是使用vector计算向量点积的C++代码示例:
#include <iostream>
#include <vector>
double dotProduct(const std::vector<double>& v1, const std::vector<double>& v2) {
if (v1.size() != v2.size()) {
throw std::invalid_argument("Vectors must have the same size.");
}
double product = 0.0;
for (size_t i = 0; i < v1.size(); ++i) {
product += v1[i] * v2[i];
}
return product;
}
int main() {
std::vector<double> v1 = {1.0, 2.0, 3.0};
std::vector<double> v2 = {4.0, 5.0, 6.0};
try {
double result = dotProduct(v1, v2);
std::cout << "Dot product: " << result << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
在上述代码中,我们定义了一个名为dotProduct的函数,该函数接受两个vector<double>类型的参数v1和v2。函数首先检查两个向量的大小是否相等,如果不相等则抛出std::invalid_argument异常。然后,函数通过遍历两个向量的元素,计算两个向量的点积。最后,函数返回计算结果。
在main函数中,我们创建了两个向量v1和v2,并调用dotProduct函数计算它们的点积。如果向量大小不一致,异常将被捕获并打印错误消息。否则,点积结果将被打印到标准输出
原文地址: https://www.cveoy.top/t/topic/hYJF 著作权归作者所有。请勿转载和采集!