问题描述
当我设置一个带有 4 个符号变量的 Vector 时,就可以了。但是 5 个变量发生错误,详细信息发布在下面。符号变量是否限制在 5 以下?
My code for 5 variables:
const Variable x0{"x0"};
const Variable x1{"x1"};
const Variable x2{"x2"};
const Variable x3{"x3"};
const Variable x4{"x4"};
Eigen::Matrix<Variable,5,1> x(x0,x1,x2,x3,x4);
Results:
error: no matching constructor for initialization of 'Eigen::Matrix<Variable,1>'
Eigen::Matrix<Variable,x4);
解决方法
这与符号变量无关,问题是 Eigen 没有为具有 5 个条目的向量提供构造函数。你也不能Eigen::Matrix<double,5,1> x(1,2,3,4,5)
你可以这样做
Eigen::Matrix<symbolic::Variable,1> x;
x << x0,x1,x2,x3,x4;