对数函数

对数函数(Logarithmic Function)是以幂(真数)为自变量,指数为因变量,底数为常量的函数。对数函数是6类基本初等函数之一。其中对数的定义: 如果 ax = N(a>0,且a≠1),那么数 x 叫做以 a 为底 N 的对数,记作 x=logaN,读作以 a 为底 N 的对数,其中 a 叫做对数的底数,N 叫做真数。

对数对解幂是未知的方程是有用的。它们有简单的导数,所以它们经常用在解积分中。

编程中计算时间复杂度,比如快排算法就需要用到对数函数。


📐 数学公式

y =(基数 2 的幂)等于 x
该等式改写为 y = log2x。
这被读作: ”y 等于 x 的对数,以 2 为底” 或 “y 等于 x 的对数,以 2 为底”。

如:
5² = 25  =>  log5(25) = 2

📌 JavaScript

参考代码:index.js

/* 
Math.E	返回算术常量 e,即自然对数的底数(约等于2.718)
Math.log(x)	返回数的自然对数(底为e)
Math.log2() 函数返回一个数字以 2 为底的对数。
Math.log10() 函数返回一个数字以 10 为底的对数。
Math.log1p() 函数返回一个数字加 1 后的自然对数 (底为 E), 既log(x+1).
*/

console.log(Math.log(2.718));
/* 输出 0.999896315728952 接近 1 */

console.log(Math.log(1));
/* 输出 0 */

console.log(Math.log(Math.E));
/* 输出 1 */

console.log(Math.log("10"));
/* 输出 2.302585092994046 */

console.log(Math.log(0));
/* 输出 -Infinity */

console.log(Math.log(-1));
/* 输出 NaN */


/**
 * 返回以 x 为底 y 的对数,即 logx(y)
 * @param {Number} x - 底数
 * @param {Number} y - 目标值
 * @returns {Number} 对数的值
 */
function calculateLogarithm(x, y) {
    return Math.log(y) / Math.log(x);
}

/**
 * 计算对数图像上的某个点的对应坐标
 * @param {Number} base - 底数
 * @param {Number} x - 点 P 的 x 坐标
 * @returns {Objext} 返回在对数图像上点的完整坐标
 */
function calculatePoint(base, x) {
    const y = calculateLogarithm(base, x);

    const point = {
        x: x,
        y: y
    };

    return point;
}


export { calculateLogarithm, calculatePoint };

测试:test.js

import { calculateLogarithm, calculatePoint } from './index';


console.log(calculateLogarithm(10, 100));
/* 输出 2 */


console.log(calculatePoint(2, 50))
/* 输出:
{
    "x": 50,
    "y": 5.643856189774724
}
*/