2017-12-17 17 views
0

Ich versuche, um eine Matrix zu erhalten, die aus dem Produkt zwischen einem Vektor und die jeweiligen Elemente aus einem Zeilenvektor wie folgt aus:C++ Eigen Library: Mutliplying Vektor mit Elementen aus Zeilenvektor

Eigen::Vector3f vec; 
vec << 1, 
     2, 
     3; 

Eigen::RowVectorXf val; 
val.setLinSpaced(5, 1, 5); //val = [1,2,3,4,5] 

//result should be 
//1,2,3,4,5 
//2,4,6,8,10 
//3,6,9,12,15 

Nach this question sehen, I versucht haben

val.array().colwise()*vec.array() 

und

vec.array().rowwise()*val.array() 

aber sie jus t funktionieren nicht.

val ist ein 1xn Vektor.

Antwort

0

Sie möchten eine Standardmatrixprodukt:

MatrixXf res = vec * val; 
Verwandte Themen