特征矩阵[值],它是什么意思? 在C++中使用特征库编写以下示例: #include <iostream> #include <eigen3/Eigen/Core> using namespace Eigen; using namespace std; int main() { Matrix3f mat; Matrix3f m[11]; cout << mat << endl; cout << "\n" << m[11] << endl; }
第二个输出:特征矩阵[值],它是什么意思? 在C++中使用特征库编写以下示例: #include <iostream> #include <eigen3/Eigen/Core> using namespace Eigen; using namespace std; int main() { Matrix3f mat; Matrix3f m[11]; cout << mat << endl; cout << "\n" << m[11] << endl; },c++,eigen3,C++,Eigen3,第二个输出: 0 -2.51418e-31 0 2.96401e+17 -1.10025e+33 2.9625e+17 3.06324e-41 0 3.06324e-41 []操作员做什么? mat[value]与mat有何不同? 另一个问题:为什么本征函数会产生非常大或非常小的数,它们是随机的吗 附言:在第二个输出上,零始终是零,但其他数字正在更改声明 Matrix3f m[11]; 与Eigen没有多大关系。它是
0 -2.51418e-31 0
2.96401e+17 -1.10025e+33 2.9625e+17
3.06324e-41 0 3.06324e-41
[]
操作员做什么?
mat[value]
与mat
有何不同?
另一个问题:为什么本征函数会产生非常大或非常小的数,它们是随机的吗
附言:在第二个输出上,零始终是零,但其他数字正在更改声明
Matrix3f m[11];
与Eigen
没有多大关系。它是堆栈上的一个普通原始数组,包含11个Eigen::Matrix3f
实例。当你
cout << "\n" << m[11] << endl;
cout这不是操作符[]
。这是一个C型数组
int a[42];
定义一个名为a
的42int
s数组
在同一行中,对于类型T
和正整数N
,这:
T bla[N];
定义类型为T
的N
对象数组
所以你的代码
Matrix3f m[11];
定义11个矩阵x3f
对象的数组
数组索引从0开始,因此最后一个有效索引是10,而不是代码中的11。
由于Eigen初始化其对象时不为零,因此在打印0-10个元素的值时会得到随机数
Matrix3f m[11];