eigen 两个矩阵 线性变换代码
时间: 2023-12-01 16:05:09 浏览: 121
以下是使用Eigen库实现两个矩阵的线性变换的示例代码:
```cpp
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main()
{
// 定义矩阵A和B
Matrix3d A;
A << 1, 2, 3,
4, 5, 6,
7, 8, 9;
Matrix3d B;
B << 9, 8, 7,
6, 5, 4,
3, 2, 1;
// 定义线性变换矩阵C
Matrix3d C;
C << 1, 2, 3,
4, 5, 6,
7, 8, 9;
// 计算A * C 和 B * C
Matrix3d AC = A * C;
Matrix3d BC = B * C;
// 输出结果
std::cout << "A * C = \n" << AC << std::endl;
std::cout << "B * C = \n" << BC << std::endl;
return 0;
}
```
在这个例子中,我们定义了两个3x3的矩阵A和B,以及一个3x3的线性变换矩阵C。我们使用Eigen库中的Matrix3d类来定义这些矩阵,并使用<<运算符来初始化它们的值。
然后,我们计算A * C和B * C,并将结果存储在AC和BC中。我们使用*运算符来执行矩阵乘法。
最后,我们输出结果到控制台。运行程序,将得到以下输出:
```
A * C =
30 36 42
66 81 96
102 126 150
B * C =
90 114 138
54 69 84
18 24 30
```
这些结果是用C矩阵对A和B进行线性变换的结果。
阅读全文