0
我有一個本徵矢量。我想要遞歸地捕捉它。例如遞歸貓在Eigen中的矢量
Eigen::Vector3d vec;
vec << 5, 6, 7;
Eigen::VectorXd vecCat;
for(int i=0;i<3;i++)
vecCat << vec(i),0,0;
cout<<vecCat<<endl;
,使得最終輸出將是 vecCat = 5 0 0 6 0 0 7 0 0
如果我做上述方式我正在一個錯誤。誰能幫我?
如果我沒有記錯的話,在本徵你不能用「<<」部分填充矢量。只有我看到的方法是使用簡單的for循環和[] /()運算符 –
@Dark_Daiver理論上可以,但是您需要將'CommaInitializer'的返回值存儲在一個變量中(我不是詳細闡述這一點,因爲這不是有意的,也不保證是未來的證明)。正如你所說,使用循環和'[]'運算符要容易得多。 (或者,將其存儲在3x3臨時矩陣中並將其映射回矢量) – chtz
您能否詳細說明您提出的兩種解決方案?我也無法清楚地瞭解我是初學者。 – kaush