我想用C++定义一个动态矩阵,使用Eigen库。首先,我将行数和列数作为输入(nZ),然后在下面的类中定义我的矩阵,但它不允许我使用(nZ)作为行数变量!你有什么想法我该怎么办?如何使用特征库定义动态矩阵?
GetParams Params;
类哈密顿{
公共:
哈密顿();
void SetHam0(double,double,int,double)
virtual〜Hamiltonian();
int nZ = Params.Get_nZ();private:
Eigen :: MatrixXd U_on = Eigen :: MatrixXd.setZero(nZ,1); Eigen :: MatrixXd Ham0 = Eigen :: MatrixXd.setZero(nZ,nZ); Eigen :: MatrixXd mstar = Eigen :: MatrixXd.setZero(nZ,nZ); Eigen :: MatrixXd U_v = Eigen :: MatrixXd.setZero(nZ,1);};
'nZ'估值和所有'setZero'调用必须在构造函数中完成。 – Michael