簡體   English   中英

Eigen3:僅沿一維的動態矩陣:構造失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM