本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作。分享给大家供大家参考,具体如下:

简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。一般的正态分布可以通过标准正态分布配合数学期望向量和协方差矩阵得到。如下代码,可以得到满足一维和二维正态分布的样本。

示例1(一维正态分布):

# coding=utf-8

'''

作者:采石工

来源:知乎

'''

import numpy as np

from numpy.linalg import cholesky

import matplotlib.pyplot as plt

sampleNo = 1000;

# 一维正态分布

# 下面三种方式是等效的

mu = 3

sigma = 0.1

np.random.seed(0)

s = np.random.normal(mu, sigma, sampleNo )

plt.subplot(141)

plt.hist(s, 30, normed=True)

np.random.seed(0)

s = sigma * np.random.randn(sampleNo ) + mu

plt.subplot(142)

plt.hist(s, 30, normed=True)

np.random.seed(0)

s = sigma * np.random.standard_normal(sampleNo ) + mu

plt.subplot(143)

plt.hist(s, 30, normed=True)

# 二维正态分布

mu = np.array([[1, 5]])

Sigma = np.array([[1, 0.5], [1.5, 3]])

R = cholesky(Sigma)

s = np.dot(np.random.randn(sampleNo, 2), R) + mu

plt.subplot(144)

# 注意绘制的是散点图,而不是直方图

plt.plot(s[:,0],s[:,1],'+')

plt.show()

运行结果:

示例2(正态分布):

#-*- coding:utf-8 -*-

# Python实现正态分布

# 绘制正态分布概率密度函数

import numpy as np

import matplotlib.pyplot as plt

import math

u = 0 # 均值μ

u01 = -2

sig = math.sqrt(0.2) # 标准差δ

x = np.linspace(u - 3*sig, u + 3*sig, 50)

y_sig = np.exp(-(x - u) ** 2 /(2* sig **2))/(math.sqrt(2*math.pi)*sig)

print x

print "="*20

print y_sig

plt.plot(x, y_sig, "r-", linewidth=2)

plt.grid(True)

plt.show()

运行结果:

希望本文所述对大家Python程序设计有所帮助。

python正态分布随机数_Python使用numpy产生正态分布随机数的向量或矩阵操作示例...相关推荐

  1. python傅里叶变换库_python的numpy库和cv2库实现图像傅里叶变换

    码字不易,如果对您有所帮助,记着点赞哦! 一. 图像傅里叶变换原理: 对二维图像进行傅里叶变换用如下公式进行: 图像长M,高N.F(u,v)表示频域图像,f(x,y)表示时域图像.u的范围为[0,M- ...

  2. python自定义随机数_python:numpy.random模块生成随机数

    简介 所谓生成随机数,即按照某种概率分布,从给定的区间内随机选取一个数.常用的分布有:均匀分布(uniform distribution),正态分布(normal distribution),泊松分布 ...

  3. python 检验数据正态分布程度_Python DataFrame 检验数据正态分布及平均值差异检验...

    检验是否为正态分布 使用 # Scipy Normaltest how is it used? image.png 平均值差异检验 代码示例如下 from scipy.stats import kst ...

  4. python产生5个随机数_Python和numpy生成随机数

    http://blog.csdn.net/pipisorry/article/details/39086463 随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成 ...

  5. python 方差齐性检验_Python数据科学:正态分布与t检验

    昨天介绍了两连续变量的相关分析,今天来说说连续变量与分类变量(二分)之间的检验. 通俗的来讲,就是去发现变量间的关系. 连续变量数量为一个,分类变量数量为两个. 总体:包含所有研究个体的集合. 样本: ...

  6. python 标准正态分布函数_Python数据可视化实现正态分布(高斯分布)

    正态分布(Normal distribution)又成为高斯分布(Gaussian distribution) 若随机变量X服从一个数学期望为 .标准方差为 的高斯分布,记为: 则其概率密度函数为: ...

  7. python随机生成k个不重复的随机数_python 生成不重复的随机数的代码

    import random print 'N must >K else error' n=int(raw_input("n=")) k=int(raw_input(" ...

  8. python生成指定位数随机数_python生成指定长度的随机数密码

    复制代码 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- #导入random和string模块 import random, string def ...

  9. python条件替换_Python中Numpy条件替换操作一例

    为了数据分析快捷方便,实际操作中,我们往往要对字符串标签进行0和1的转换操作,如性别:男和女.还有根据条件进行转换,比如:大于60的归为1,60以下的归为2. 以下是在Numpy中进行转换的例子: & ...

最新文章

  1. Algorithms_基础数据结构(02)_线性表之链表_单向链表
  2. C语言模拟质点运动轨迹坐标,C语言定时器的使用 计算质点运动的移位
  3. c++迭代器模式iterator
  4. ssl1463-公共子串【各种dp之1】
  5. 笔记本电脑电源已接通未充电_dell xps15 电源已接通 未充电 维修方法
  6. Bokeh 添加注释
  7. BootStrap Table和Mybatis Plus实现服务端分页
  8. [转载] Python round四舍五入精度缺失的解决
  9. Spring 源码编译
  10. 【2016年第1期】关于我国农业大数据中心建设的设想
  11. k3梅林和官改哪个稳定_要功能还是要稳定 — 斐讯 K3 由LEDE 转战官改ROOT版
  12. vmware vsphere安装与使用
  13. Python-docx库设置word页眉页脚
  14. 量化高频交易从0到1(期货CTP,纳秒级,高频、趋势及套利策略)课程大纲
  15. B端与C端产品有何不同?
  16. 影响因子(Impact Factor,IF)
  17. 软件测试qa等级考核制度,QA与QC的职责划分
  18. 小米等安卓手机屏蔽实体按键和虚拟按键
  19. 微软亚洲研究院帮你对下联
  20. 【模型训练】YOLOv7吸烟行为检测

热门文章

  1. nodejs源码—初始化
  2. 流利说递交招股书:上半年亏1.8亿 王翌持股27.9%
  3. 移动前端开发经验小结
  4. shell-1-命令与参数
  5. HyperLink的使用
  6. 开源组件ExcelReport 1.5.2 使用手册
  7. js字符串截取函数substr substring slice使用对比
  8. MATLAB中设置figure的边框
  9. 集群、分布式、负载均衡区别
  10. CF1131E String Multiplication(???)