Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Eigen C++:如何在随机矩阵初始化后固定值?_C++_Eigen_Eigen3 - Fatal编程技术网

Eigen C++:如何在随机矩阵初始化后固定值?

Eigen C++:如何在随机矩阵初始化后固定值?,c++,eigen,eigen3,C++,Eigen,Eigen3,似乎在特征包中,系数在随机矩阵初始化后不断变化。下面列出了一些图示代码和输出。我们期望X.transpose是第一个X的转置,但它是另一个随机矩阵的转置 在随机矩阵初始化之后,如何修复这些值 #include <iostream> #include <Eigen/Dense> using namespace Eigen; using namespace std; int main(){ auto X = MatrixXi::Random(2,2); cout

似乎在特征包中,系数在随机矩阵初始化后不断变化。下面列出了一些图示代码和输出。我们期望X.transpose是第一个X的转置,但它是另一个随机矩阵的转置

在随机矩阵初始化之后,如何修复这些值

#include <iostream>
#include <Eigen/Dense>


using namespace Eigen;
using namespace std;
int main(){
  auto X = MatrixXi::Random(2,2);
  cout << X << endl;
  cout << "---------" << endl;
  cout << X.transpose() << endl;
  cout << "---------" << endl;
  cout << X << endl;
  cout << "---------" << endl;
  return 0;
}

。自动X=MatrixXi::Random2,2的结果;是在求值时创建随机矩阵的表达式。每次调用cout都会对其进行一次又一次的评估。而是使用MatrixXi X=MatrixXi::Random2,2

MatrixXi::Random2,2返回一个表达式,如果使用auto X,则X具有表达式类型。也可以执行自动X=MatrixXi::Random2,2.eval;;
-1073725017   548908249
 -791266575   -88798166
---------
  70367106 -603530552
-972714280  384109054
---------
 385036099 -250177384
 933495885   41696341
---------