行列 RealMatrix を使用して三元一次方程式を解く

目次

序文:

2. Java行列APIを使用して簡単な方程式を計算します。

3. 反復によって解決策を完成させる


序文:

プロジェクト開発中に、動的多変量一次方程式に関するビジネスに出会いました。

たとえば、この行列によって解かれる単純な多変量累積評価には除算は含まれません。

例:0.8x + 0.1y +0.25z = 100;

x-2y = 0;

x-3z = 0;

x、y、z 値を求める

2. Java行列APIを使用して簡単な方程式を計算します。

package com.icbccs.eisa.common;

import org.apache.commons.math3.linear.*;

public class AdjustTest{
    public static void main(){
//0.8x + 0.1y +0.25z = 100;

//x-2y = 0;

//x-3z = 0;
        //使用math进行求值多元一次方程
        RealMatrix coefficients = 
            new Array2DRowRealMatrix(new double[][]{
   
   {0.8,0.1,0.25},
                        {1,-2,0},
                        {1,-3,0}},false);

        //创建求解器
        DocompositionSolver solver = new LUDecomposition(coefficients).getSolver();
        //掺入等号后面的值
        RealVector constants = new ArrayRealVector(new double[]{100,0,0},false);
        //开始进行多元计算
        RealVector solution = solver.solve(constants );
        //输出参数x,y,z
        System.out.println("x="+solution.getEntry(0));
        System.out.println("y="+solution.getEntry(1));
        System.out.println("z="+solution.getEntry(2));
        
    }


}

3. 反復によって解決策を完成させる

改善すべきTODO

追加の延長

Java の行列演算 Array2DRowRealMatrix 加算、減算、乗算、除算

おすすめ

転載: blog.csdn.net/qq_44691484/article/details/130836274