Java类中的RealMatrix对象
似乎我无法在我的类中使用此Apache Commons数学库,因为当我尝试在构造函数中使用RealMatrix时,matrixSim上出现了意外的标记,如下所示:Java类中的RealMatrix对象,java,matrix,apache-commons-math,Java,Matrix,Apache Commons Math,似乎我无法在我的类中使用此Apache Commons数学库,因为当我尝试在构造函数中使用RealMatrix时,matrixSim上出现了意外的标记,如下所示: class vecGenUn { double[][] prevMat; RealMatrix matrixSim; //this is problematic int dataDim; int rowDim; double simVecMean; double simVecSD; double simV
class vecGenUn
{
double[][] prevMat;
RealMatrix matrixSim; //this is problematic
int dataDim;
int rowDim;
double simVecMean;
double simVecSD;
double simVecUn;
double sum;
vecGenUn (double[][] tempPM)
{
prevMat = tempSM;
matrixSim = new Array2DRowRealMatrix(prevMat); //and possibly this
dataDim = new int matrixSim.getColumnDimension();
rowDim = new int matrixSim.getRowDimension();
simVecMean = new double[dataDim];
simVecSD = new double[dataDim];
simVecUn = new double[dataDim];
sum = new Sum();
}
public void vecGen()
{
for (int i = 0; i < dataDim; i++)
{
simVecMean[i] = sum.evaluate(matrixSim.getColumn(i), 0, rowDim)/rowDim
}
}
}
类向量
{
双[][]普雷维马特;
RealMatrix matrixSim;//这是有问题的
int-dataDim;
int-rowDim;
双simvec均值;
双simVecSD;
双simVecUn;
双和;
vecGenUn(双[][]tempPM)
{
prevMat=tempSM;
matrixSim=newArray2DroArralMatrix(prevMat);//可能是这样
dataDim=new int matrixSim.getColumnDimension();
rowDim=new int matrixSim.getRowDimension();
simVecMean=新的双精度[dataDim];
simVecSD=新的双精度[dataDim];
simVecUn=新的双精度[dataDim];
总和=新总和();
}
公共空间
{
对于(int i=0;i现在方法尚未实现,但是当我需要所有Appache数学库方法使用RealMatrix数据类型时,我如何在这里使用RealMatrix数据类型,而且我还需要从创建该类实例时提供的值(双数组)构造它 在提供的代码中,有各种与Apache Commons Math无关的编译器错误。在尝试确定该库是否存在问题之前,请先解决这些问题 更正意见以(*)标记: 类向量 { 双[][]普雷维马特; RealMatrix matrixSim;//这是有问题的 int-dataDim; int-rowDim; 双simvec均值; 双simVecSD; 双simVecUn; 双和; vecGenUn(双[][]tempPM) { prevMat=tempSM;//(*)tempSM未定义 matrixSim=newArray2DroArralMatrix(prevMat);//可能是这样 dataDim=new int matrixSim.getColumnDimension();/(*)“new int”无效 rowDim=new int matrixSim.getRowDimension();/(*)同上 simVecMean=new double[dataDim];//(*)将数组分配给标量变量 simVecSD=新的双精度[dataDim];//(*)同上 simVecUn=新的双精度[dataDim];//(*)同上 sum=新的sum();/(*)将对象分配给基元 } 公共空间 { 对于(int i=0;i
class vecGenUn
{
double[][] prevMat;
RealMatrix matrixSim; //this is problematic
int dataDim;
int rowDim;
double simVecMean;
double simVecSD;
double simVecUn;
double sum;
vecGenUn (double[][] tempPM)
{
prevMat = tempSM; // (*) tempSM is undefined
matrixSim = new Array2DRowRealMatrix(prevMat); //and possibly this
dataDim = new int matrixSim.getColumnDimension(); // (*) 'new int' is invalid
rowDim = new int matrixSim.getRowDimension(); // (*) ditto
simVecMean = new double[dataDim]; // (*) assigning an array to a scalar variable
simVecSD = new double[dataDim]; // (*) ditto
simVecUn = new double[dataDim]; // (*) ditto
sum = new Sum(); // (*) assigning object to primitive
}
public void vecGen()
{
for (int i = 0; i < dataDim; i++)
{
simVecMean[i] = sum.evaluate(matrixSim.getColumn(i), 0, rowDim)/rowDim // (*) indexing a scalar variable
}
}
}