目录
前言:
最近在Android app实时显示数据上遇到了个问题,就是获取的数据需要进行转换。这里的转换公式为双指数函数,反函数不好转化出一个式子,需要实现非线性方程的求解寻根。
以往完成这个操作,我是在matlab定义函数式用fslove求解来完成这件事情,我在思考是否可以在Android app上实现这一点。经过一些调研,的确是可以的,可以使用Apache-commons-math3来实现。
一、Apache-commons-math3介绍
Apache-commons-math3是java的一种科学计算库,平日里接触数学计算更多是在matlab或者python上实现,在Android Java上实现的相关资料比较少。这里简要简要介绍一下apache-commons-math3,大致了解它能够做些什么,详细的使用可以去研究官方文档。
math3可以支持的功能如下所示:
- 支持常用的矩阵操作,例如矩阵转置、求逆以及加减乘除等
- 支持矩阵分解操作,例如LU分解、QR分解、奇异值分解、特征值分解等
- 可以实现一些数理统计的方法,例如t检验、卡方检验等等
- 可以实现一些基本的数值方法,例如插值、曲线拟合、积分、最小二乘、线性回归等等
- 可以实现非线性方程组的求解寻根。
其中矩阵的运算是可以应用到多个场景,例如线性方程组求解、图像处