Scipy误差函数详解

Scipy误差函数详解误差函数的实质是正态分布的概率 其重要性可见一斑 erf 函数

大家好,欢迎来到IT知识分享网。

误差函数简介

误差函数的实质是正态分布的概率,其重要性可见一斑,其表达式为

erf ⁡ = 2 π ∫ 0 x e − t 2 d t \operatorname{erf}=\frac{2}{\sqrt{\pi}}\int^x_0e^{-t^2}\text dt erf=π
2
0xet2dt

和标准正态分布累积分布函数 Φ \Phi Φ的关系为

Φ ( x ) = 1 2 + 1 2 erf ⁡ ( x 2 ) \Phi(x)=\frac{1}{2}+\frac{1}{2}\operatorname{erf}(\frac{x}{\sqrt{2}}) Φ(x)=21+21erf(2
x
)

scipy中提供了erf函数,下面画一下误差函数的图像

import numpy as np import matplotlib.pyplot as plt import scipy.special as ss xs = np.arange(-3000, 3000)/1000 plt.plot(xs, ss.erf(xs)) plt.show() 

在这里插入图片描述

由于误差函数在概率统计中的含义是累积分布函数,所以不可能是发散的。其泰勒展开也收敛,其泰勒级数为

erf ⁡ ( x ) = 2 π ∑ n = 0 ∞ ( − 1 ) n z 2 n + 1 n ! ( 2 n + 1 ) \operatorname{erf}(x)=\frac{2}{\sqrt\pi}\sum^\infty_{n=0}\frac{(-1)^nz^{2n+1}}{n!(2n+1)} erf(x)=π
2
n=0n!(2n+1)(1)nz2n+1

复平面上的误差函数

误差函数在复平面上也有定义,而且图像十分精彩

xs, ys = np.indices([500,500])/100-2.5 zs = ss.erf(xs + 1j*ys) fig = plt.figure() ax = fig.add_subplot(1,3,1,projection='3d') ax.plot_surface(xs, ys, np.real(zs)) ax.set_title("real(zs)") ax = fig.add_subplot(1,3,2,projection='3d') ax.plot_surface(xs, ys, np.imag(zs)) ax.set_title("imag(zs)") ax = fig.add_subplot(1,3,3,projection='3d') ax.plot_surface(xs, ys, np.abs(zs)) ax.set_title("abs(zs)") plt.show() 

图像为

在这里插入图片描述

如果把其实部或者虚部画成为彩图可能更加带感

xs, ys = np.indices([400,400])/100-2 zs = ss.erf(xs + 1j*ys) plt.imshow(np.real(zs), cmap=plt.cm.prism) plt.axis('off') plt.show() 

得到

在这里插入图片描述

与误差函数相关的函数

scipy中,定义了一些列和误差函数相关的函数,

函数 与erf的关系
erfc 1 – erf(x)
erfcx exp(x2) * erfc(x)
erfi -i erf(i z)
erfinv 误差函数翻转
erfcinv erfc翻转

下面逐一演示这3对函数

fDct = { 
    "erf":ss.erf, "erfinv":ss.erfinv, "erfi":ss.erfi, "erfc":ss.erfc, "erfcinv":ss.erfcinv, "erfcx":ss.erfcx } fig = plt.figure() xs = np.arange(-3000, 3000)/1000 for i,key in enumerate(fDct): ax = fig.add_subplot(2,3,i+1) ax.plot(xs, fDct[key](xs)) ax.set_title(key) plt.show() 

对比如下

在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144594.html

(0)
上一篇 2025-04-25 18:15
下一篇 2025-04-25 18:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信