[英]Eigen3 dynamic matrix with boost::multiprecision::mpfr_float
[英]Eigen3 : dynamic matrix along one dimension only : failure to contruct
我可以輕松定義固定行數和未定義列數的矩陣類型:
typedef Matrix<double, 6, Dynamic> dMat6rowsNCols;
dMat6rowsNCols M1;
但我不知道如何實例化它,這些嘗試無法編譯:
M1.Zero(4);
M1 = dMat6rowsNCols::Zero(4);
我可以問你一些提示嗎?
干杯
西爾萬
從DenseBase::Zero(Index)
的文檔中:
這僅適用於向量(行向量或列向量),即在編譯時已知具有一行或一列的矩陣。
你必須使用DenseBase::Zero(Index, Index)
:
M1 = dMat6rowsNCols::Zero(6, 4);
如果您使用當前的 Eigen 主干,您可以將Eigen::NoChange
用於某些功能,例如
M1.setZero(Eigen::NoChange, 4);
附帶說明:調用M1.Zero
不會調用將所有系數設置為 0 的成員 function,但這是調用 static DenseBase::::Zero
:9 的不太常見的方式您可能正在尋找M1.setZero
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.