什么是对数

对数用 log 符号来表示。根据底数的不同,log 可以变换成 lg、ln。lg 是以 10 为底的对数,ln 是以 e 为底的对数。

logax=y,是一个以 a 为底,x 为真数的对数。条件:a > 0,且 a ≠ 1。根据底数的条件,对数的图像有两种:

指数与对数可以互相转换,假如有一个对数:log28=3,指数 23=8。底数还是指数的底数,指数中的次方就是对数中的结果,指数中的结果就是对数中的真数。

对数的公式

logaM*N=logaM+logaN

可以借助指数的公式来理解对数的公式。1️⃣令 x = logaM2️⃣令 y = logaN

  1. M = ax
  2. N = ay

同底数幂相乘,底数不变,指数相加。所以,ax+ay = ax*y=M*N:

\[M*N=a^{x*y}log{_a}^{M*N}=x*ylog{_a}^{M*N}=log{_a}^M+log{_b}^N
\]

把上面公式中第一步(指数)转换成对数,再把前面令的变量替换成相应的对数,最后得出的结果如本小节标题所示。logaM/N=logaM-logaN 的推导思路也类似上面,借助指数的公式来推。

logaMn=nlogaM

假如,log327 可以写成 log333,把 3 最高的那个 3 拿到 log 前面:3log33。而 log33 = 1,所以 3log33 = 3。

而 log327 就是 3 的多少次方等于 27,当然是 33=27,即 log327 = 3log33 = 3。

什么是换底公式

有一个对数 logab,把 a 的底数换成 c,那么就有 logcb/logca,这个过程就叫作换底。新的底数 c 可以是 10、5、e 等,具体的情况要根据题目要求来决定。换底公式在实际中非常常用,不是所有的对数的底数都是相同的,通过“换底公式”能够统一对数的底。

换底公式的运用

题目一

log54 * log54 * log54 * log54 = ?

这四个对数的底数都不一样,那么该选择哪个合适的底数来替换之前的底数呢?可以是 e,也可以是 10,不管选哪个都可以,目的是统一它们的底数从而继续计算下去。

相同的分子和分母全部消掉之后的结果为 1。

题目二

已知 b > 0,log5b=a,lgb=c,5d=10,则下列等式一定成立的是()?

A. d=ac B. a= cd C. c=ad D. d=a+c

题目中有对数也有指数,指数和对数可以互相转换?。把 5d=10 转换成对数:log510=d。现在,有两个对数的底数都是 5,应该把另一个对数的底数换成 5。

因为题目中已经告诉了我们 lgb=c,最终计算出来的结果是选项 B。

换底公式的变式

明白了换底公式的过程之后,还有一个非常重要的变式在实际中也经常使用到:logab = 1/logba。下面是该变式的推导过程:

上面的计算过程中经历了两次换底过程。第一次换底中,把 logab 的底 a 换成以 c 为底;第二次换底中,把所有对数的底换成以 b 为底。

结论:一个对数的底数与真数互换位置之后的倒数等于原本的对数

题目一

求解:log5x-logx25=1

logx25 可以写成 2logx5。现在,我们来仔细观察前面的对数和这个对数,是不是底数与真数互换位置了?令 log5x 等于 t,2logx5 等于 2*1/t。

t = 2 或 t = -1,分两个情况:

  • t = log5x = 2,把对数换成指数求得 x = 52 = 25;
  • t = log5x = -1,对数换成指数求得 x = 5-1 = 1/5。

为什么令“2logx5 等于 2*1/t”?

因为 log5x = t,由换底公式变式可知,所以,t = 1/logx5,即 logx5 = 1/t。注意:这里为了讲解,忽略了 logx5 前面比较挡视野的 2。

log 函数的更多相关文章

  1. FZU 2032 Log函数问题 模拟小数加法

    题目链接:Log函数问题 2 / 49 Problem G FZU 2032 Log函数问题 不知道为什么...比赛时高精度难倒了一票人...成功搞出大新闻... 试了一下直接double相加超时,然 ...

  2. math。h中的log函数的应用

    以10为底的log函数: 形式为 double  log10(double  x) 以e为底的log函数(即 ln)double log (double x) 如何表达log 以a为底b的对数: 用换 ...

  3. LeetCode 326 Power of Three(3的幂)(递归、Log函数)

    翻译 给定一个整型数,写一个函数决定它是否是3的幂(翻译可能不太合适-- 跟进: 你能否够不用不论什么循环或递归来完毕. 原文 Given an integer, write a function t ...

  4. matlab中log函数与rssi转距离

    我们通常所说的log是指以10为底的对数,而MATLAB中的log却不是这样.Matlab中的log函数在默认情况下是以e为底,即loge,如果需要计算以10为底的对数,那么需要用log10()函数. ...

  5. n阶乘,位数,log函数,斯特林公式

    一.log函数 头文件: #include <math.h> 使用: 引入#include<cmath> 以e为底:log(exp(n)) 以10为底:log10(n) 以m为 ...

  6. PHP log() 函数

    实例 返回不同数的自然对数: <?phpecho(log(2.7183) . "<br>");echo(log(2) . "<br>&quo ...

  7. LoadRunner学习笔记log函数

    lr_log_message 只是记会写到本地vuser的log里面. lr_message和lr_output_message基本相同,它们会同时写到vuser的log和发送到controller里 ...

  8. python 中 logging 模块的 log 函数以及坑

    记录下吧,一个日志的函数,但有个坑是在调用函数时需要先将函数实例化为一个变量,否则进入某个循环时会多次刷新日志: """ 日志模块 """ ...

  9. 在非NDK编译条件下使用Android Log函数

    解决的需求 有些时候不能在NDK环境编译,或者使用NDK编译会颇费周折,然后又想使用Android系统自带的Log类方法,那么我们就可以使用dlopen来实现我们的目的.比如在OpenCV中添加And ...

  10. [Log函数]C++log函数使用

    先引入头文件#include<cmath> 以e为底:log(exp(n)) 以10为底:log10(n) 以m为底:log(n)/log(m)

随机推荐

  1. 第三方模块 request openpyxl

    目录 第三方模块的下载 pip工具 简介 pip使用注意 pip位置和环境变量设置 pip安装第三方模块 使用pip下载可能会遇到的问题 pycharm的第三方模块下载功能 request模块 req ...

  2. Django框架路由层-无名有名分组-无名有名分组反向解析

    目录 一:路由层 1.路由匹配(错误演示) 2.路由匹配错误原因 3.路由匹配(解决方式1) 4.settings配置文件控制自动添加斜杠匹配 5.url方法第一个参数是正则表达式(正规使用url) ...

  3. VUE项目无法启动NODE版本与NODE-SASS、SASS-LOADER版本不兼容解决方案

    一.错误分析 在VUE项目开发中,我们经常会遇到报错: Node Sass version 7.0.1 is incompatible with ^4.0.0. 网上解决方案也千奇百怪,最终操作下来, ...

  4. pytest.ini配置文件格式

    [pytest] # 命令行参数,用空格分隔 addopts = -v -n=2 # 配置测试用例所在文件夹 testpaths = ./pytest_1 # 配置需要执行的模块文件名称 python ...

  5. python 实现RSA公钥加密,私钥解密

    from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5 from Cryp ...

  6. js 非空判断

    是否为 null 是否为 "" 是否为空字符串(引号中间有空格)  如: "     ". 制表符.换行符.换页符和回车 一. 字符串 1. if(str == ...

  7. JavaScript:操作符:算术运算符(加减乘除模幂)及其隐式转换数据类型

    加法+ 减法- 乘法* 除法/ 模运算% 幂运算**,即a ** b求的是a的b次方 执行上述运算时,当两个操作数有非数字时,JS会隐式转换为数字,再进行运算: 一些特殊的非数字,会进行如下转换: t ...

  8. vue3 递归组件 树形组件

    递归组件 第一种方式,直接自己调用自己 Tree.vue <template> <div class="tree"> <div v-for=" ...

  9. WireShark抓包入门教学

    wireshark抓包新手使用教程 Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息.常用于开发测试过程各种问题定位.本文主要内容包括: 1.Wiresha ...

  10. Azure DevOps 的架构窥探

    工作的缘故,接触 TFS (Team Foundation Server)挺多的,现在改名为 Azure DevOps,分为 可私有化部署版本 Azure DevOps Server,简称ADS,以及 ...