java源代码中的log函数 ,没有具体的实现方法,我在网上找到的c 的实现方法,改了一小下。
package com.program;
public class LogTest {
public static void main(String[] args) {
System.out.println(new LogTest().logTest(100, 10));
}
static int N = 100;
public double logTest(double m, double base) {
return in(m) / in(base);
}
public double in(double x)// ln(1+x)=x-x^2/2+x^3/3-x^4/4……
{
if (x > 1.5) {
int i;
for (i = 0; x > 1.25; i++) {
x = Math.sqrt(x);
}
return (1 << i) * horner(x - 1);
} else if (x < 0.7 && x > 0) {
int i;
for ( i = 0; x < 0.7; i++) {
x = Math.sqrt(x);
}
return (1 << i) * horner(x - 1);
} else if (x > 0)
return horner(x - 1);
return 0.0;
}
double horner(double x) {
double u = coef(N);
for (int i = N - 1; i >= 0; i--)
u = u * x + coef(i);
return u;
}
double coef(int n) {
if (n == 0)
return 0;
double t = 1.0 / n;
if (n % 2 == 0)
t = -t;
return t;
}
}
分享到:
相关推荐
在Java编程中,`Math`类是`java.lang`包下的一个核心类,它提供了大量的静态方法,用于执行各种数学运算。这个类的主要目的是提供精确的浮点数运算,以及处理一些基本的数学函数。在本教程中,我们将深入探讨`Math`...
以上就是`Math`类中的一些常用函数,它们为Java开发人员提供了强大的数学工具箱,极大地简化了数学计算任务的实现。通过这些函数,可以轻松地处理各种数学问题,如计算几何形状的面积、体积,处理信号分析中的傅里叶...
Math类还包含了一些其他有用的函数,如`Math.max()`和`Math.min()`用于获取两个数中的最大值或最小值,`Math.sqrt()`用于求平方根,`Math.pow(a, b)`用于计算a的b次方,`Math.exp()`计算e的指数,`Math.log()`和`...
Java中的`Math`类是Java标准库中提供数学计算功能的核心类,它包含了一系列用于处理基本数学运算的方法。这些方法涵盖了从简单的绝对值计算到更复杂的三角函数、指数和对数计算。以下是对`Math`类中一些常用方法的...
Java Math类是Java标准库中的一个关键组成部分,它为开发者提供了丰富的数学运算功能。这个类包含了一系列静态方法,使得在编程过程中处理数学计算变得简单易行。以下是对Java Math类中一些重要方法的详细说明: 1....
20. `Math.log()`和`Math.log10()`:分别返回给定数的自然对数和以10为底的对数。 以上就是`Math`类中一些主要的方法及其用法,它们在编程中经常用于处理数学问题,如计算、比较、转换等。理解并熟练运用这些方法...
* Math.LOG10E 属性:返回以 10 为底的 E 的对数 log10e,越等于 0.434 三、四舍五入类函数 * Math.abs():返回数字的绝对值 * Math.ceil():返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入 * Math....
在Java编程语言中,`Math` 类是 `java.lang` 包的一部分,它提供了一系列用于数学运算的方法。在提供的代码段中,我们可以看到对 `Math` 类的一些常见方法的使用,这些方法包括: 1. `Math.abs(x)`:返回一个数值的...
- Trace.cpp、LogTrace.cpp、MainFrm.cpp、TraceView.cpp、TraceDoc.cpp:这些是C++源代码文件,分别可能包含了日志类的实现(Trace或LogTrace)、主框架类(MainFrm)、日志视图类(TraceView)和文档类(TraceDoc...
在Java编程语言中,`Math` 类是 `java.lang` 包的一部分,它提供了一系列用于数学计算的方法。在这个自测题中,主要涉及了 `Math` 类的一些核心方法的使用,包括绝对值、舍入、三角函数、指数、对数等。让我们详细...
虽然Java的`Math`类的部分方法可能被优化为本地代码,但源码中仍可看到大部分算法的Java实现,这对于理解其工作原理非常有帮助。 `Math`类是线程安全的,因为它的所有方法都没有副作用,不会改变任何状态。这意味着...
4. `Math.log双精度(float a)`:对于Java 8及更高版本,此方法计算浮点数a的双精度自然对数,提供了更高的精度。 除了这些基础方法外,还有一些高级用法。例如,你可以通过对数法则来解决更复杂的数学问题,比如...
4. **指数与对数**:`Math.pow()`用于计算一个数的幂,而`Math.log()`则返回自然对数(以e为底)。 5. **三角函数**:如`Math.sin()`, `Math.cos()`, `Math.tan()`分别计算正弦、余弦和正切值。 6. **舍入操作**:`...
Java中的Math属性主要包括PI、E、LN2、LN10、LOG2E和LOG10E等,这些属性用于返回一些常用的数学常数。例如,Math.PI属性返回圆的周长与其直径的比值,Math.E属性返回自然对数的底数E,以此类推。
- `Math.log(x)`:返回 `x` 的自然对数(以 `e` 为底)。 4. **平方根和立方根**: - `Math.sqrt(x)`:返回 `x` 的平方根。 - `Math.cbrt(x)`:虽然在上述内容中没有提及,但 `Java` 也提供了计算立方根的方法。...
Y = Math.floor((1 - Math.log(Math.tan(latitude * Math.PI / 180) + 1 / Math.cos(latitude * Math.PI / 180)) / Math.PI) / 2 * (2^zoom)) ``` 3. **HTTP请求与响应**:获取地图瓦片通常涉及向服务器发送HTTP...
- `Math.log()`:返回参数的自然对数值。 5. **比较与取值**: - `Math.max()`:返回两个参数中的较大值,有三个重载版本,适用于`double`、`float`、`int`和`long`类型。 - `Math.min()`:返回两个参数中的较小...
这个库包含了一系列数学函数,如`Math.pow()`用于计算幂,`Math.sqrt()`用于平方根,`Math.log()`用于自然对数,`Math.exp()`用于e的指数等。例如,计算一个数的平方根: ```java public double squareRoot(double ...