C++ 矩阵取实部运算
时间: 2023-09-22 13:06:04 浏览: 46
如果你想要从一个复数矩阵中提取实数部分,可以使用以下代码:
```c++
#include <iostream>
#include <complex>
#include <vector>
int main()
{
std::vector<std::vector<std::complex<double>>> matrix = {{1.0 + 2.0i, 2.0 + 3.0i}, {3.0 + 4.0i, 4.0 + 5.0i}};
std::vector<std::vector<double>> real_part(matrix.size(), std::vector<double>(matrix[0].size()));
for (int i = 0; i < matrix.size(); ++i) {
for (int j = 0; j < matrix[0].size(); ++j) {
real_part[i][j] = matrix[i][j].real();
}
}
// 打印实数矩阵
for (int i = 0; i < real_part.size(); ++i) {
for (int j = 0; j < real_part[0].size(); ++j) {
std::cout << real_part[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
```
在这个例子中,我们使用了 `std::vector` 来存储复数矩阵。然后我们创建了一个与原始矩阵相同大小的实数矩阵,并通过使用 `std::complex` 类型中的 `real()` 函数来提取每个元素的实数部分。最后,我们打印了实数矩阵。