我刚刚得到犰狳,想要熟悉自己,所以我正在用它进行“测试”运行
int main(){
double myMatrix[6][6];
for (int i = 0; i < 6; i++){
for (int j = 0; j < 6; j++){
myMatrix[i][j] = i+2*j;
}
}
mat ARMA_L;
vec ARMA_eigenval;
mat ARMA_eigenvec;
for (int i = 0; i < 6; i++){
for (int j = 0; j < 6; j++){
ARMA_L(i,j) = myMatrix[i][j];
}
}
eig_gen(ARMA_eigenval, ARMA_eigenvec, ARMA_L);
return 0;
}
当我尝试编译时,它说没有调用eig_gen()的函数 但是文档看起来好像我正在做我应该做的事情。
答案 0 :(得分:1)
eig_gen()
函数使用了错误的类型。 ARMA_eigenval
和ARMA_eigenvec
应分别为cx_vec
和cx_mat
:
cx_vec ARMA_eigenval;
cx_mat ARMA_eigenvec;
请参阅documentation中的示例:
mat A = randu<mat>(10,10);
cx_vec eigval;
cx_mat eigvec;
eig_gen(eigval, eigvec, A);