繁体   English   中英

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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM