借助矩阵RealMatrix解三元一次方程

目录

前言:

2.借助Java矩阵api计算简单方程

3.借助迭代完成求解


前言:

项目开发中碰到一个业务,关于动态多元一次方程,

例如,本矩阵解决的简单的多元累加求值,不包含除法

eg: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加减乘除

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值