python正态函数写法 python函数的写法

如何在Python中计算累积正态分布

Python正态分布概率计算方法,喜欢算法的伙伴们可以参考学习下。需要用到math模块。先了解一下这个模块方法,再来写代码会更好上手。

创新互联专注于改则网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供改则营销型网站建设,改则网站制作、改则网页设计、改则网站官网定制、微信小程序服务,打造改则网络公司原创品牌,更为您提供改则网站排名全网营销落地服务。

def st_norm(u):

'''标准正态分布'''

import math

x=abs(u)/math.sqrt(2)

T=(0.0705230784,0.0422820123,0.0092705272,

0.0001520143,0.0002765672,0.0000430638)

E=1-pow((1+sum([a*pow(x,(i+1))

for i,a in enumerate(T)])),-16)

p=0.5-0.5*E if u0 else 0.5+0.5*E

return(p)

def norm(a,sigma,x):

'''一般正态分布'''

u=(x-a)/sigma

return(st_norm(u))

while 1:

'''输入一个数时默认为标准正态分布

输入三个数(空格隔开)时分别为期望、方差、x

输入 stop 停止'''

S=input('please input the parameters:\n')

if S=='stop':break

try:

L=[float(s) for s in S.split()]

except:

print('Input error!')

continue

if len(L)==1:

print('f(x)=%.5f'%st_norm(L[0]))

elif len(L)==3:

print('f(x)=%.5f'%norm(L[0],L[1],L[2]))

else:

print('Input error!')

如何用python使变量服从正太分布?

正太分布哈哈

首先,如果想要你的一千万个数据严格服从正态分布,那么先确定这个分布的数据,也就是均值和方差,N(u,o),这里均值 u=50,方差 o 由你确定,根据正态分布概率密度函数,对于每一个 1~100 之间的整数 x,都可以确定它出现的概率 f(x):

正态分布概率密度函数

而共有 10 000 000 个数字,那么 10000000*f(x) 就是 x 出现的频率。

因此,使用一个 101 元素的数组 freq[] 存放这些数出现的频率,用 f(x)*10000000 逐个计算数组元素,也就是 x 应该出现的次数,假如说 2 一共会出现 3 次,那么 freq[2]=3,计算出之后放在那里,作为一个参照。再初始化一个全为 0 的 100 个元素的数组 sam[],记录每个数字已经出现的次数。之后开始从 1~100 随机,每随机一个数字 x 都给 sam[x] 加1,再和 freq[x] 比较,如果超出了 freq[x] 就说明这个数字已经不能再出现了,将其舍弃。记录随机成功的次数,达到了 10000000 次即可。

python 怎么求标准正态分布某个值

示例:

1、from numpy import *;

2、def rand_Matrix():

3、randArr=random.randn(2,3);

4、randMat=mat(randArr);

5、return randMat;

一种结果如下:

1、matrix([[ 0.3150869 , -0.02041996, -0.15361071],

2、[-0.75507988,  0.80393683, -0.31790917]])

扩展资料

Python正态分布概率计算方法:

def st_norm(u):

'''标准正态分布'''

import math

x=abs(u)/math.sqrt(2)

T=(0.0705230784,0.0422820123,0.0092705272,

0.0001520143,0.0002765672,0.0000430638)

E=1-pow((1+sum([a*pow(x,(i+1))

for i,a in enumerate(T)])),-16)

p=0.5-0.5*E if u0 else 0.5+0.5*E

return(p)

def norm(a,sigma,x):

'''一般正态分布'''

u=(x-a)/sigma

return(st_norm(u))

while 1:

'''输入一个数时默认为标准正态分布

输入三个数(空格隔开)时分别为期望、方差、x

输入 stop 停止'''

S=input('please input the parameters:\n')

if S=='stop':break

try:

L=[float(s) for s in S.split()]

except:

print('Input error!')

continue

if len(L)==1:

print('f(x)=%.5f'%st_norm(L[0]))

elif len(L)==3:

print('f(x)=%.5f'%norm(L[0],L[1],L[2]))

else:

print('Input error!')

用python求出正态分布1.6对应的百分位数的函数是什么

正态分布最早是由一位数学家从二项分布在n趋近于无穷大时的近似而推导出来的。 二项分布的概率密度C(m,n)*p^m*(1-p)^(n-m),考虑此函数在n趋近于无穷大,m在n/2附近时的近似。 求近似时,关键的一步是用斯特灵公式:N!约等于N的N次方乘以根号下2πN再除以e的N次方,当N非常大时。在具体推导中,对于n,n-m,m都可以适用此近似。 另一个关键步骤是,推导中用d^2=np(1-p)来代换,也就是说,二项分布的分散,对于二项分布的近似,仍然是一个有意义的有限的值。


本文名称:python正态函数写法 python函数的写法
本文网址:http://ybzwz.com/article/dodopie.html