Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Can';特征线性系统解的t-存取元_C++_Eigen - Fatal编程技术网

C++ Can';特征线性系统解的t-存取元

C++ Can';特征线性系统解的t-存取元,c++,eigen,C++,Eigen,我刚刚开始使用eigen,但出于一些奇怪的原因,我正在努力解决一些应该简单的问题。下面的代码是我想要执行的一些类似计算的简化版本(Ax=b中的解x) 输入: auto N = 10; auto A = Matrix<Float, Dynamic, Dynamic>::Identity(N, N); auto b = Matrix<Float, Dynamic, 1>::Constant(N, 1, 1); std::cout << "A: " <<

我刚刚开始使用eigen,但出于一些奇怪的原因,我正在努力解决一些应该简单的问题。下面的代码是我想要执行的一些类似计算的简化版本(Ax=b中的解x)

输入:

auto N = 10;
auto A = Matrix<Float, Dynamic, Dynamic>::Identity(N, N);
auto b = Matrix<Float, Dynamic, 1>::Constant(N, 1, 1);
std::cout << "A: " << std::endl
          << A << std::endl
          << "b: " << std::endl 
          << b << std::endl;
auto x = A.fullPivLu().solve(b);
std::cout << "x(" << x.rows() << ", " << x.cols()
          << "): " << std::endl << x << std::endl;
auto N=10;
自动A=矩阵::标识(N,N);
自动b=矩阵::常数(N,1,1);

std::cout请不要滥用带有表达式模板库的
auto
,请参见此。通常,在您的例子中,
x
不是一个
Matrix
对象,而是一个抽象对象,表示要计算的
a\b
。。。因此,解决办法是:

Matrix<Float, Dynamic, 1> x = A.fullPivLu().solve(b);
矩阵x=A.fullPivLu().solve(b);

请不要滥用带有表达式模板库的
auto
,请参见此。通常,在您的例子中,
x
不是一个
Matrix
对象,而是一个抽象对象,表示要计算的
a\b
。。。因此,解决办法是:

Matrix<Float, Dynamic, 1> x = A.fullPivLu().solve(b);
矩阵x=A.fullPivLu().solve(b);

您试图访问的元素是什么?您是否使用了正确的索引基础(看起来它们是基于零的索引)。您试图访问哪个元素?您是否使用了正确的索引基础(看起来它们是基于零的索引)。