我正在尝试使用 Apache 的 commons-math-2.2.jar 求解线性方程。
对于三个小点,我得到了正确的结果。
当我使用以下数据(大数字)时,我没有得到正确的结果,而是我会说结果没有意义;
以下是我正在使用的代码和数据:
double [][]matrixPoint= new double[][]{{1,80,6400,512000,4.096*Math.pow(10, 7)},{1,100,10000,1000000,1.0*Math.pow(10, 8)},{1,120,14400,1728000,2.073*Math.pow(10, 8)},{1,160,25600,4096000,6.553*Math.pow(10, 8)},{1,200,40000,8000000,1.6*Math.pow(10, 9)}};
double [] matrixVector=new double[]{300,350,300,350,250};
RealMatrix coefficients =
new Array2DRowRealMatrix(matrixPoint,false);
DecompositionSolver solver = new LUDecompositionImpl(coefficients).getSolver();
// RealVector constants = new ArrayRealVector(new double[] { 1, -2, 1 }, false);
RealVector constants = new ArrayRealVector(matrixVector, false);
RealVector solution = solver.solve(constants);
System.out.println("The values are:"+Math.round(solution.getEntry(0))+":"+Math.round(solution.getEntry(1))+":"+Math.round(solution.getEntry(2))+":"+Math.round(solution.getEntry(3))+":"+Math.round(solution.getEntry(4)));
API 有什么限制吗?如果您知道任何其他用于求解线性方程的库,请告诉我。
提前致谢
拉克什