0

我在 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);
4

1 回答 1

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
于 2013-06-26T18:35:51.073 回答