c++ eigen 设置矩阵大小
时间: 2025-01-24 18:10:11 浏览: 36
在C++中使用Eigen库设置矩阵大小时,可以通过多种方式来实现。以下是一些常见的方法:
1. **固定大小的矩阵**:
如果你事先知道矩阵的大小,可以在定义时指定矩阵的大小。
```cpp
#include <Eigen/Dense>
#include <iostream>
int main() {
// 定义一个3x3的矩阵
Eigen::Matrix3d mat;
mat << 1, 2, 3,
4, 5, 6,
7, 8, 9;
std::cout << "3x3 matrix:\n" << mat << std::endl;
return 0;
}
```
2. **动态大小的矩阵**:
如果矩阵的大小在运行时才能确定,可以使用动态大小的矩阵。
```cpp
#include <Eigen/Dense>
#include <iostream>
int main() {
// 定义一个动态大小的矩阵
Eigen::MatrixXd mat(3, 3);
mat << 1, 2, 3,
4, 5, 6,
7, 8, 9;
std::cout << "Dynamic size matrix:\n" << mat << std::endl;
return 0;
}
```
3. **使用`resize`方法**:
对于动态大小的矩阵,可以使用`resize`方法来改变矩阵的大小。
```cpp
#include <Eigen/Dense>
#include <iostream>
int main() {
// 定义一个动态大小的矩阵
Eigen::MatrixXd mat;
mat.resize(2, 2);
mat << 1, 2,
3, 4;
std::cout << "Resized matrix:\n" << mat << std::endl;
// 改变矩阵的大小
mat.resize(3, 3);
mat << 5, 6, 7,
8, 9, 10,
11, 12, 13;
std::cout << "Resized matrix:\n" << mat << std::endl;
return 0;
}
```
通过这些方法,你可以根据需要设置和改变Eigen矩阵的大小。
阅读全文
相关推荐

















