如何使用c++中的Eigen库创建一个高效的3D矩阵
How to create an efficient 3D matrix using the Eigen library in C++?
对于机器人项目,我需要一个预定义大小的3D矩阵。使用Eigen库,我不知道如何:1)创建一个大的预定义矩阵,似乎我必须使用matrixXd,但这是一个动态矩阵。2.)创建一个3D矩阵,即size = (int from 200 to 1000)和matrix (size, size, size)
- 不建议使用静态分配创建大型矩阵,因为这会降低性能。
您可以创建2D矩阵的矢量,而不是3D矩阵。
如:特征::MatrixX<</p>
嗯,我找到了一种在我的项目中构建3d矩阵的方法。使用vector:
typedef vector<Matrix<double, Dynamic, Dynamic>> M3;
如果你想初始化一个维度为(k,m,n)的预定义矩阵,只需使用:
M3 W(k, M2(m, n));
这种方法便于特征矩阵的存储。但是如果你想计算3d矩阵,你应该将它分割成许多2d矩阵,并使用循环来获得3d结果。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 运行同一解决方案的另一个项目的项目
- 挂起和取消挂起一个文件DLL
- 用C++中的一个变量定义一个常量
- 函数向量_指针有不同的原型,我可以构建一个吗
- 在c++中用vector填充一个简单的动态数组
- C++中高效的大型稀疏块压缩线性方程
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 分配一个(固定大小)矢量<矢量<double>>以便高效访问并添加它们?
- 是否有希望在std::变体上高效地调用一个公共基类方法
- 需要一个高效的减法算法取模一个数字
- 从另一个类创建另一个特定类的优雅/高效的方法
- 这是一个更高效的链表实现
- 在C++中高效地读取一个非常大的文本文件
- 如何使用c++中的Eigen库创建一个高效的3D矩阵
- 在Visual c++中开发一个用于高效数值计算的静态库
- 制作一个使用指针进行排序的高效算法
- 一个内存高效的SHA1实现