我在Eigen lib中对2个向量的基本标量乘法有一些严重的问题。 当我有两个向量....两个都是矩阵的行...所以...我必须第二个.transpose();,我必须得到一个数字..所以我怎么可能访问这个结果向量在1迭代器2,3,4,5 ... ?????? !!!!!
q_c=matVk.row(ks);
lk=(matVk.row(i).transpose());
向量乘法:
hore= q_c * lk;
结果完全不同于必须.....并且向量中的值是好的,我检查了一下,我尝试了一切来解决这个问题....我尝试了更具体的初始化:向量:相同的结果
VectorXd hore(1);
VectorXd lk(k);
VectorXd q_c(k);
答案 0 :(得分:0)
以下是文档中定义的typedefs
:
typedef Matrix< double,1,Dynamic> RowVectorXd
typedef Matrix< double,Dynamic,1> VectorXd
如果将列向量乘以列向量,您将获得结果,因为问题详细信息不太清楚。但我猜这是你犯的错误。试试这个:
VectorXd hore(1);
VectorXd lk(k);
RowVectorXd q_c(k);
hore = q_c*lk