簡體   English   中英

使用大特征矩陣時出錯:“OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG”

[英]Error using large Eigen matrix: " OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG"

我一直在使用 Eigen 矩陣來測試我編寫的新代碼,我只是第一次遇到這個問題。 我剛開始閱讀本征矩陣中的“固定與動態大小”,我以為我正在使用“動態”矩陣來處理大尺寸,但是當我嘗試使用更多的網格時,我得到了錯誤:

 static assertion failed: OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG

示例代碼:

static const int nx = 128;
static const int ny = 128; 

using namespace std;
using namespace Eigen;

int main(){
Eigen::Matrix<double, (ny+1), nx> X; //ERROR HERE
X.setZero();
//other similar initializations 

}

此代碼對於較小尺寸的nx; ny; nx; ny; 但不是我展示的情況。 理想情況下,我想運行像nx=1024;這樣大的東西。 並且ny=1024; 這不可能使用特征矩陣嗎? 謝謝。

正如人們在評論中指出的那樣,使用以下方法可以解決問題:

Eigen::MatrixXd

或者

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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