`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)
}
}`