J. 常用数学函数
J. 常用数学函数
更新日期:2021-01-11
1. 概述
在实际编写程序的时候,用到数学知识的地方并不多。
如下两个领域的编程会较多的使用数学知识,尤其会使用到大学数学中的知识。
- 科学研究,大数据
- 高等数学
- 数学建模
- 游戏编程
- 矩阵运算
而编写普通程序时,高中的数学知识就已经足够了,即使没学过矩阵运算,只是使用的话也不会有什么问题。
2. 常用常量和函数
java中的Math包中提供了我们需要的常用的常量和函数,这里只选我们感兴趣的。一起来看一下。
常量只有一个:PI,就是圆周率。
下面是函数。
| No. | 函数 | 说明 |
|---|---|---|
| 1 | abs | 求绝对值 |
| 2 | sin、cos、tan | 正弦、余弦、正切函数 |
| 3 | asin、acos、atan | 反正弦、反余弦、反正切函数 |
| 4 | max、min | 最大值、最小值 |
| 5 | random | 生成随机数 |
| 6 | pow | 乘方运算 |
Math包中还有其他一些不是那么常用的东西,如果需要用的话再来查也不迟。
非常用主题
- 自然指数e相关运算
- 对数运算
- 切上或者切下数字
- 求平方根
- 带有溢出判断的四则运算
- 弧度与度数的相互转换
3. 高级运算
如果这个Math还满足不了你的话。还可以看一看Apache的commons-math包。
这个包作为Java的Math的补充,提供了大量的数学工具函数,专门解决一些棘手的问题。
都能帮我们做什么呢?这里列一下它大概的主题,让我们有一个整体的印象。当需要的时候可以再来查询。
commons-math
官方文档英文原文
- Computing means, variances and other summary statistics for a list of numbers
- Fitting a line to a set of data points using linear regression
- Fitting a curve to a set of data points
- Finding a smooth curve that passes through a collection of points (interpolation)
- Fitting a parametric model to a set of measurements using least-squares methods
- Solving equations involving real-valued functions (i.e. root-finding)
- Solving systems of linear equations
- Solving Ordinary Differential Equations
- Minimizing multi-dimensional functions
- Generating random numbers with more restrictions (e.g distribution, range) than what is possible using the JDK
- Generating random samples and/or datasets that are "like" the data in an input file
- Performing statistical significance tests
- Miscellaneous mathematical functions such as factorials, binomial coefficients and "special functions" (e.g. gamma, beta functions)
谷歌机翻之后
- 计算数字列表的均值,方差和其他汇总统计信息
- 使用线性回归将一条线拟合到一组数据点
- 将曲线拟合到一组数据点
- 找到一条穿过点集合的平滑曲线(插值)
- 使用最小二乘法将参数模型拟合到一组测量
- 求解包含实数函数的方程(即求根)
- 线性方程组的求解
- 解常微分方程
- 最小化多维功能
- 与使用JDK相比,生成具有更多限制(例如分布,范围)的随机数
- 生成与输入文件中的数据“相似”的随机样本和/或数据集
- 进行统计显着性检验
- 杂项数学函数,例如阶乘,二项式系数和“特殊函数”(例如,γ,β函数)