这个是很有用的一个运算,除了本身可以求自然对数,还是求指数函数需要用到的基础函数。

实现原理就是泰勒展开,最简单是在x=1处进行泰勒展开:

但该函数离1越远越难收敛,同时大于2时无法收敛,所以需要进行换元,然后重新展开:

但是该换元在接近0时或者接近无穷大时收敛困难,处在1到10范围内收敛快且精度高,所以对大于10或小于1的值进行分解如下:

ln(55000)=ln(5.5)+4ln10

ln(0.0015)=ln(1.5)-4ln10

ln10为算好的值,可直接由ln_h1(10)得到

Epsilon 为精度控制

输出的i可以检测收敛次数。

Epsilon = 10e-16

ln10 = 2.30258509299404568401

def ln_h(x):

'''

ln函数泰勒换元展开

:param x: 0

:return:ln(x)

'''

def ln_h1(x):

s2 = 0.0

delta = x = (x - 1.0) / (x + 1.0)

i = 0

while fab_h(delta * 2) / (i * 2 + 1) > Epsilon:

s2 += delta / (i * 2 + 1)

delta *= x * x

i += 1

print(i)

return 2 * s2

coef = 0

if x > 10:

while x / 10 > 1:

coef += 1

x /= 10

return ln_h1(x) + coef*ln10

elif x < 1:

while x * 10 < 10:

coef += 1

x *= 10

return ln_h1(x) - coef*ln10

else:

return ln_h1(x)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: Python math库 ln(x)运算的实现及原理

本文地址: http://www.cppcns.com/jiaoben/python/265743.html

python中ln怎么表示_Python math库 ln(x)运算的实现及原理相关推荐

  1. python ln()怎么实现_Python math库 ln(x)运算的实现及原理

    这个是很有用的一个运算,除了本身可以求自然对数,还是求指数函数需要用到的基础函数. 实现原理就是泰勒展开,最简单是在x=1处进行泰勒展开: 但该函数离1越远越难收敛,同时大于2时无法收敛,所以需要进行 ...

  2. python中ln函数如何表示_Python math库 ln(x)运算的实现及原理

    这个是很有用的一个运算,除了本身可以求自然对数,还是求指数函数需要用到的基础函数. 实现原理就是泰勒展开,最简单是在x=1处进行泰勒展开: 但该函数离1越远越难收敛,同时大于2时无法收敛,所以需要进行 ...

  3. 如何用python计算ln函数_Python math库 ln(x)运算的实现及原理

    这个是很有用的一个运算,除了本身可以求自然对数,还是求指数函数需要用到的基础函数. 实现原理就是泰勒展开,最简单是在x=1处进行泰勒展开: 但该函数离1越远越难收敛,同时大于2时无法收敛,所以需要进行 ...

  4. python中值滤波算法_Python扩展库scipy中值滤波算法的应用

    中值滤波是数字信号处理.数字图像处理中常用的预处理技术,特点是将信号中每个值都替换为其邻域内的中值,即邻域内所有值排序后中间位置上的值.下面的代码演示了scipy库中signal模块的中值滤波算法的用 ...

  5. python中的画笔控制函数_Python turtle库的画笔控制说明

    turtle.penup() 别名 turtle.pu() :抬起画笔海龟在飞行 turtle.pendown() 别名 turtle.pd():画笔落下,海龟在爬行 turtle.pensize(w ...

  6. 写出python中6种数据类型_Python数据类型(一)

    一.在Python中,基本数据类型主要可分为以下几种: 数字(Number): 字符串(String): 列表(List): 字典(Dictionary): 元组(Tuple): 1.在Python3 ...

  7. 不是python中用于开发用户界面的第三方库-模拟试卷C

    原标题:模拟试卷C 一.单项选择题 1. 按照"后进先出"原则组织数据的数据结构是____ 队列 栈 双向链表 二叉树 2. 以下选项的叙述中,正确的是 循环队列有队头和队尾两个指 ...

  8. Python中使用random随机函数与Matplotlib库绘制随机漫步图

    Python中使用random随机函数与Matplotlib库绘制随机漫步图 一.概述 随机现象在我们的生活中并不少见,我们常见的一次抛硬币的正反面,股票的走势等等,都是随机事件.这些不确定性事件给我 ...

  9. python编辑word书签_小伙发现了Python中编写word文档的库,编辑文字方便多了

    新的一年,小编又和大家见面啦.十分开心又和大家分享干货了~ Word文档相信广大的办公室家族并不陌生吧?今天咱们聊聊Python中一个可以用来读写word文档的Python库,编辑文档分分钟的事情哦~ ...

最新文章

  1. SugarCRM ListView查询中加入默认条件
  2. linux docker 限制容器可用的 cpu
  3. python 计算最后一个单词的长度
  4. tuxedo错误码6_TUXEDE返回的所有错误代码
  5. 解析Tensorflow官方PTB模型的demo
  6. 海外博士一般朝九晚五,国内博士动辄十几小时科研时间,为什么普遍认为海外博士水平较高?...
  7. python划分有限元网格_有限元分析网格划分的步骤和类型
  8. latex的下载与安装
  9. VMware ESXi 安装 IPMITOOL 工具
  10. 虚拟机内存管理之内存分配器
  11. 群晖增量同步Linux文件夹,用自定义脚本实现群晖NAS中本地文件夹之间的增量同步复制...
  12. Qt开发串口通信以及坐标显示程序并移植
  13. 《嵌入式 - 嵌入式大杂烩》 处理器架构与指令集
  14. Eclipse SVN 冲突的 介绍 及 四种解决方式
  15. C语言中字符串和字符数组的区别
  16. JavaScript 抢购茅台脚本 仅供学习
  17. DPI、PPI、DP、PX 的详细计算方法及算法来源是什么
  18. pdf转换成txt转换器在线转换
  19. 输出所有的水仙花数。水仙花数是一个3位数:各位数字立方和等于该数本身。
  20. ccc-Brief Introduction of Deep Learning-李宏毅(6)

热门文章

  1. IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理
  2. SQL Server复制需要有实际的服务器名称才能连接到服务器 错误解决方案
  3. @HystrixCommand 注解的作用与注意事项
  4. zzulioj 1120: 最值交换
  5. OJ1028: I love 闰年!
  6. 关闭mysql密码策略_MYSQL57密码策略修改
  7. 英语口语练习软件测试简历,软件测试员英语简历范文
  8. 信息学奥赛一本通 1062:最高的分数 | OpenJudge NOI 1.5 05
  9. 理论基础 —— 查找 —— 平衡二叉树
  10. 吉哥系列故事――完美队形II(HDU-4513)