作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想构造一个 Eigen::Array<double,Dynamic,Dynamic>
从 EigenBase
输入类型。根据文档,我应该能够使用另一个数组来使用复制构造函数,例如:
http://eigen.tuxfamily.org/dox/classEigen_1_1Array.html#a0b2d2aba2e64b58c980399838f60205c
所以我尝试了以下方法:
#include <iostream>
#include <Eigen/Dense>
int main()
{
Eigen::Array<double,2,2> a(1,2,3,4);
Eigen::Array<double,Eigen::Dynamic,Eigen::Dynamic> b(a);
return 0;
}
但是我得到了这个错误:
error: static assertion failed: THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE
我的意思是,消息很清楚,但我的问题是如何实现这种功能,而不是手动调整数组大小并逐个填充它?
最佳答案
如您之前的问题所示:What do the initialized Array constructors do?
你不能像这样初始化一个 4 长的数组:
Eigen::Array<double,2,2> a(1,2,3,4);
您的选择是:
Eigen::Array<double,1,4> a(1,2,3,4);
Eigen::Array<double,4,1> a(1,2,3,4);
同样,您最好像这样初始化数组:
Eigen::Array<double,2,2> a;
a << 1, 2, 3, 4;
关于c++ - 如何从 EigenBase 构建动态数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543252/
我是一名优秀的程序员,十分优秀!