Java中如何使用高斯消元算法?
How to use the Gaussian Elimination algorithm in Java?
我的任务是用高斯消除算法计算 u:
金=b
A 是一个矩阵(二维数组),如下所示:
[1.0, 0.0, 0.0, 0.0, 0.0]
[-25.0, 50.0, -25.0, 0.0, 0.0]
[0.0, -25.0, 50.0, -25.0, 0.0]
[0.0, 0.0, -25.0, 50.0, -25.0]
[0.0, 0.0, 0.0, 0.0, 1.0]
b 是一个向量(数组),如下所示:
[0.0, 1.115696, 1.115696, 1.115696, 0.0]
如何在这上面使用高斯消元算法? java 是否已经实现了一些东西?或者代码看起来如何计算这个?我感谢任何形式的帮助!
例如,您可以使用开源 la4j 库。
那么你的代码可能看起来像
...
double[][] numbers_for_A = {
{1.0, 0.0, 0.0, 0.0, 0.0},
{-25.0, 50.0, -25.0, 0.0, 0.0},
{0.0, -25.0, 50.0, -25.0, 0.0},
{0.0, 0.0, -25.0, 50.0, -25.0},
{0.0, 0.0, 0.0, 0.0, 1.0}};
double[] numbers_for_b = {0.0, 1.115696, 1.115696, 1.115696, 0.0};
Matrix A = Matrix.from2DArray(numbers_for_A);
Vector b = Vector.fromArray(numbers_for_b);
GaussianSolver gs = new GaussianSolver(A);
Vector u = gs.solve(b);
System.out.println(u);
您可以使用 maven 依赖导入库
<dependency>
<groupId>org.la4j</groupId>
<artifactId>la4j</artifactId>
<version>0.6.0</version>
</dependency>
我的任务是用高斯消除算法计算 u:
金=b
A 是一个矩阵(二维数组),如下所示:
[1.0, 0.0, 0.0, 0.0, 0.0]
[-25.0, 50.0, -25.0, 0.0, 0.0]
[0.0, -25.0, 50.0, -25.0, 0.0]
[0.0, 0.0, -25.0, 50.0, -25.0]
[0.0, 0.0, 0.0, 0.0, 1.0]
b 是一个向量(数组),如下所示:
[0.0, 1.115696, 1.115696, 1.115696, 0.0]
如何在这上面使用高斯消元算法? java 是否已经实现了一些东西?或者代码看起来如何计算这个?我感谢任何形式的帮助!
例如,您可以使用开源 la4j 库。 那么你的代码可能看起来像
...
double[][] numbers_for_A = {
{1.0, 0.0, 0.0, 0.0, 0.0},
{-25.0, 50.0, -25.0, 0.0, 0.0},
{0.0, -25.0, 50.0, -25.0, 0.0},
{0.0, 0.0, -25.0, 50.0, -25.0},
{0.0, 0.0, 0.0, 0.0, 1.0}};
double[] numbers_for_b = {0.0, 1.115696, 1.115696, 1.115696, 0.0};
Matrix A = Matrix.from2DArray(numbers_for_A);
Vector b = Vector.fromArray(numbers_for_b);
GaussianSolver gs = new GaussianSolver(A);
Vector u = gs.solve(b);
System.out.println(u);
您可以使用 maven 依赖导入库
<dependency>
<groupId>org.la4j</groupId>
<artifactId>la4j</artifactId>
<version>0.6.0</version>
</dependency>