0. 数值分析

数值分析(计算数学)观点,如下两种最常见的浮点数运算过程中损失有效数字的情况。

  • 两个相近的数相减
  • 两个数量级相差很大的数字相加减

1. limx→0log(1+x)limx→0log⁡(1+x)\lim_{x\to 0}\log(1+x)(两个数量级相差很大的数字相加减)

  • 计算 log(1+x)log⁡(1+x)\log(1+x),Python math 库中有专门的函数,math.log1p(plus 1)。
  • 从计算机数值计算的角度,当 xxx 逼近 0 时,math.log1p(x) 比直接计算 math.log(x)+1不会丢失过多的精度。

math.log1p 的实现原理基于 log⁡(1+x)" role="presentation">log(1+x)log⁡(1+x)\log(1+x) 的泰勒展开:

log(1+x)=x−x22+x33−x44+x55+⋯log⁡(1+x)=x−x22+x33−x44+x55+⋯

\log(1+x)=x-\frac{x^2}{2}+\frac{x^3}3-\frac{x^4}4+\frac{x^5}{5}+\cdots

def log1p(x):if fabs(x) > 1e-4:return log(1.0+x)return (1.0-x*0.5)*x

2. limx→0exp(x)−1limx→0exp⁡(x)−1\lim_{x\to 0}\exp(x)-1(两个相近的数相减)

  • 计算 exp(x)−1exp⁡(x)−1\exp(x)-1,Python math 库中有专门的函数,math.expm1(minus 1)。
  • 从计算机数值计算的角度,当 xxx 逼近于0时,math.expm1(x)相比直接计算 math.exp(x)-1不会丢失过多的精度。

同样地对 exp⁡(x)−1" role="presentation">exp(x)−1exp⁡(x)−1\exp(x)-1 进行泰勒展开:

ex−1=x+x22+x36+x424+x5120+⋯ex−1=x+x22+x36+x424+x5120+⋯

e^x-1=x+\frac{x^2}{2}+\frac{x^3}6+\frac{x^4}{24}+\frac{x^5}{120}+\cdots

def expm1(x):if fabs(x) > 1e-4:return exp(x) - 1.0return (1.0+0.5*x)*x

可以看到这个级数收敛的很快,因此我们只要取很少的几项就能得到很高的计算精度。


  • log1p(x) 和 expm1(x) 函数的实现

【数值分析】—— 对数函数、指数函数(数值稳定性)相关推荐

  1. 多项式对数函数|指数函数(多项式)

    多项式对数函数|指数函数 这个思路就是先求导然后再积分,这样就可以得到一个式子,对于多项式对数函数,我们就可以直接求解了,然后对于多项式指数函数还需要使用分治fft. 多项式对数: #include& ...

  2. #深入解读# 机器学习中的指数函数和对数函数的作用

    在学习机器学习相关理论时,我们常常会会在公式中遇到指数函数和对数函数,但是很时候我们并不理解这些函数的的真正作用,这里结合几个机器学习中的公式来具体分析一下指数函数和对数函数的作用 指数函数 由上图可 ...

  3. 数学专业英语 -- 数值分析篇

    numerical analysis 数值分析 numerical stability 数值稳定性 numerical scheme 数值格式 numerical algorithm 数值算法 num ...

  4. ln x的matlab表示,ln在matlab中怎么表示

    实现thln13算法的matlab程序_数学_自然科学_专业资料.clear a... (x) a^x ln x ax logba cos x tan x cot x ... (2) 指数和对数函数指 ...

  5. ln x的matlab表示,matlab中ln怎么表示

    ln x ; y 6 ? lg x ; y 7 ? sin x ; y 8 ? arcsin x . 5 [matlab 命令] >> x=2.2; >> y1=x^3;y1= ...

  6. 多元相关分析与多元回归分析

    目录 变量间的关系分析 什么是相关分析 什么是回归分析 分析步骤 回归分析与相关分析的主要区别 一元线性相关分析 一元线性回归分析 建模 方差分析检验 t检验 多元回归分析模型建立 线性回归模型基本假 ...

  7. matlab中ln4怎么表示,matlab里ln怎么表示

    matlab中图中颜色和形状表示_数学_自然科学_专业资料.颜色字符串有'c', 'm', 'y', 'r', 'g', 'b', 'w',和'k'.分别表示青,红紫,黄,红,绿,白...... 上下 ...

  8. matlab 符号计算,第3章 MATLAB符号计算

    第3章MATLAB符号计算 符号计算则是可以对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理.MATLAB具有符号数学工具箱(Symbolic Math Toolbox),将符号运算结合到 ...

  9. 复变函数(2)-复变函数及其解析性

    复变函数(2)-复变函数及其解析性                          东风夜放花千树,更吹落,星如雨 2.1 复变函数的定义:  设DDD是复平面上一个非空点集.如果按照一个确定的法则 ...

  10. matlab 分式拟合,第七讲matlab实现非线性拟合.ppt

    其中 R2越趋近于1表明拟合效果越好. 如果是多项式函数,则称为多项式回归,此时的参数即多项式的系数:如果为指数函数.对数函数.幂函数或三角函数等,则称为非线性拟合.下面的图形给出了常见曲线与方程的对 ...

最新文章

  1. C# WebService发布与调用方法(转)
  2. leetcode17 电话号码的字母组合
  3. xcode快速开发 代码块
  4. Linux ss命令 报错,ECS Linux中ss命令显示连接状态的使用说明
  5. 平板电脑应用_什么是机房巡检AI机器人?工业平板电脑的应用如何体现
  6. 赶紧收藏!UI设计师必须知道的命名规范
  7. 随时随地编程!腾讯云 1 亿元战略投资企业级研发管理平台 CODING
  8. WinEdt LaTex(三)—— 宏包
  9. linux 安装 yum
  10. 泰安技师学院计算机专业,泰安技师学院有哪些系部和专业
  11. Django中文文档
  12. 《个人信息保护法》自2021年11月1日正式实施
  13. C# 插入或删除word分页符
  14. 轮换对称性实质 和差化积公式之sinθ+cosθ推导 rd原理,二重积分坐标系转化为什么多了个r; 二重积分几何意义: 二重积分物理意义: 二重积分求导:
  15. Pycharm报错:AttributeError: ‘NoneType‘ object has no attribute ‘_gdal‘的解决办法
  16. php实现aes ecb模式加密,PHP、Python、Java的AES ECB加密实现-Fun言
  17. 机器学习(四):剪枝技术(基础篇)
  18. ppt中加入html,如何在ppt中插入html网页.ppt
  19. iOS中 HeathKit框架学习 步数统计等 韩俊强的博客
  20. tensorflow入门教程(四十四)人体姿态检测(二)

热门文章

  1. 5大最流行手机webAPP框架之Ionic
  2. Android更改桌面应用程序launcher的两种方式
  3. Egret Native项目热更新
  4. Android中ListView数据处理优化
  5. Javascript中常用的经典技巧
  6. 镁光ssd管理工具 linux,镁光C400固态硬盘08TH固件及升级软件
  7. mysql econnreset_javascript - 节点Js mysql(和mysql2)ECONNRESET - 堆栈内存溢出
  8. ros先订阅后发布 无法收到消息的解决办法
  9. MySQL的sql_mode解析设置
  10. 使用Spark Shell开发运行Spark程序