首页 > 技术文章 > math3底层源码解决多元方程组

zy168 2020-10-19 09:14 原文

`package main.scala.com.web.zhangyong168.cn.spark.util
import org.apache.commons.math3.linear.{Array2DRowRealMatrix, ArrayRealVector, LUDecomposition, RealVector}
import org.apache.commons.math3.stat.StatUtils
/**

  • @author 张勇
  • @version 1.0.0
  • @description : x,y,z 函数方程式计算
  • @date 2020/10/13 23:12
    */
    object XYZFunctionComputer {

def xyzComputer(arrayA:Array[Double],arrayB:Array[Double],arrayC:Array[Double],arrayD:Array[Double]): RealVector ={
val coefficets=Array(
arrayA,
arrayB,
arrayC
)
val res=arrayD
val solover=new LUDecomposition(new Array2DRowRealMatrix(coefficets,false))
val result= solover.getSolver.solve(new ArrayRealVector(res,false))
println("打印x,y,z的值:"+result)
result
}

/**

  • 2x+3y+4z=2
  • -x+2y+6z=-1
  • x+4y+2=4
  • @param args
    */
    def main(args: Array[String]): Unit = {
    val arrayA= Array(2d,3d,4d)
    val arrayB= Array(-1d,2d,6d)
    val arrayC= Array( 1d,4d,2d)
    val arrayD= Array(2d,-1d,3d)
    xyzComputer(arrayA,arrayB,arrayC,arrayD)
    }

}`

推荐阅读