2017-07-18 212 views
0

其實我的問題很簡單,我正在尋找從循環中構造vector(或ma)的最有效方法。 在Matlab中我們做:M = [1:10]如何在Eigen中做同樣的事情?Eigen :: MatrixXd初始化

+1

嘗試'LinSpaced'或'setLinSpaced':HTTP://eigen.tuxfamily。 org/dox/classEigen_1_1DenseBase.html#a5d1ce9e801fa502e02b9b8cd9141ad0a – chtz

回答

0

感謝chtz,其實這是我想要的東西,所以在M=[1:10] MATLAB在C++相當於用徵來:

Matrix<double,Dynamic,1>   M; //or VectorXd M 
M = VectorXd::LinSpaced(9,1,10); // M.setLinSpaced(9,1,10) 
+0

一些說法:'Matrix '與'VectorXd'相同。除了第二行,您還可以編寫'M.setLinSpaced(9,1,10);',或者您可以將該賦值寫入構建'M'的行中。我假設第一個參數應該是'10'而不是'9',如果你想得到和matlab相同的結果。 – chtz

+0

再次感謝chtz。 –