【概率论与数理统计】python实验

article/2025/10/16 14:45:50

实验一抛硬币试验的模拟

利用python产生一系列0和1的随机数,模拟抛硬币试验。验证抛一枚质地均匀的硬币,正面向上的频率的稳定值为0.5。
实验步骤
(1)生成0和1的随机数序列,将其放入列表count中;也可用函数表示。
(2)统计0和1出现的次数,将其放入a中。a[0],a[1]分别表示0和1出现的次数。
(3)画图展示每次实验正面向上出现的频率

import matplotlib.pyplot as plt
import random
def doss():return random.randint(0,1)#返回随机数 1为下,0为上
indices = []  #抛了多少次
freq = []  #储存朝上的频率
for toss_num in range(10,10001,10):heads = 0  #向上的次数for i in range(toss_num):if doss() == 0:heads+=1freq.append(heads/toss_num)indices.append(toss_num)
plt.plot(indices,freq)
plt.show()

请添加图片描述

实验二 派的估计及其可视化

假设有一个中心在原点的边长为2的正方形,并画出其的内切圆,即圆的半径为1,圆心在原点。向正方形中随机的投点,从而计算圆周率。
使用随机投点法计算圆周率时,只需要统计落在圆内的点和正方形内的点的个数,两者的商为投点落在圆内的频率。再由几何概型,计算投点落在圆内的概率。由将该试验大量重复的进行,根据贝努利大数定律,得到的频率值近似等于概率。根据几何概型有所以,从而计算出圆周率的近似值。

  • 实验步骤:
  • 1)生成两个系列的[-1,1]的随机数。
  • 2)如果点在圆内,把点标为蓝色;否则标绿色。
  • 3)统计蓝色点的个数,计算频率,从而算出圆周率的近似值。
import numpy as np
import matplotlib.pyplot as plt# 画单位圆
theta = np.linspace(0, 2 * np.pi, 200)
x = np.cos(theta)
y = np.sin(theta)
fig, ax = plt.subplots(figsize=(4, 4))
ax.plot(x, y, color="darkred")
plt.xticks([])  # 去掉坐标轴的刻度等
plt.yticks([])  # 去掉坐标轴的刻度等N = 1000
count = 0
for i in range(1, N + 1):x = np.random.uniform(-1, 1)  # 产生服从[-1,1]上的均匀分布的N个随机数y = np.random.uniform(-1, 1)  # 产生服从[-1,1]上的均匀分布的N个随机数if x ** 2 + y ** 2 < 1:count += 1plt.plot(x, y, 'bo')  # 如果点在圆内,画蓝色else:plt.plot(x, y, 'go')  # 不在圆内,画绿色p = count / N
plt.show()
pai = 4 * p
print(pai)

实验三 二项分布的应用

有一繁忙的汽车站,每天有大量汽车通过,设每辆车在一天的某时段出事故的概率0.0001,在某天的该时段内有1000辆汽车通过,问出事故的次数不小于2的概率是多少(利用泊松定理)?

  • 1)先使用二项分布的分布函数计算X>1的概率。
  • 2)再使用公式计算X>1的概率
  • 对比两个概率值。
  • 3)使用泊松分布的分布函数计算X>1的概率。
  • 4)使用公式计算X>1的概率。
  • 5)对比使用两个分布计算出来概率值。
import numpy as np
from scipy.stats import binom           #导入binom
from matplotlib import pyplot as plt
# numpy.random.binomial(n,p,size=None)# 3个参数:n表示伯努利试验次数,p表示伯努利试验得到正例的概率,size表示采样次数;返回结果为出现正例的次数k。#cdf(k, n, p) k:分布函数自变量,n,p:分布参数  累积概率函数(分布函数)F ( k ) 
#sf(k, n, p) k:分布函数自变量,n,p:分布参数  残存函数 1-F(k)prob=binom.sf(k=1, n=1000, p=0.0001)    #计算P(X<=1)
print(prob)
from scipy.stats import poisson #导入poisson
prob1=poisson.sf(k=1, mu=1)   #计算参数为1时概率P(X>1)
print(prob1)

实验四 正态分布的计算

设某品牌瓶装矿泉水的标准容量是500毫升,设每瓶容量X(以毫升)是随机变量,X~N(500,25),求:

  • (1) 随机抽查一瓶,其容量大于510毫升的概率;
  • (2) 随机抽查一瓶,其容量与标准容量之差的绝对值在8毫升之内的概率;
  • (3) 求常数C,使每瓶的容量小于C的概率为0.05。
  • 实验步骤:
  • (1)用norm.cdf()计算正态分布的分布函数值。normcdf(x,mu,sigma)
    其中norm.cdf(x,mu,sigma)分别表示要求分布函数的x的值,mu为期望,sigma为标准差。
  • (2)使用norm.cdf(510,500,5)计算。
  • (3),使用norm.cdf(508,500,5)- norm.cdf(5492,500,5)计算。
  • (4)norm.ppf(alpha,mu,sigma)计算α分位数。
from scipy.stats import norm
prob1=norm.cdf(510,500,5)
print(prob1)
prob2=norm.cdf(508,500,5)- norm.cdf(492,500,5)
print(prob2)
alpha=norm.ppf(0.05,500,5)
print(alpha)

实验五 二维连续型分布的相关系数

设随机变量联合密度函数为[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZvXAyQNs-1639205559720)(attachment:image.gif)],
求X、Y的期望、相关系数。
实验步骤:

  • (1)设5个函数y1,y2,y3,y4,y5,分别表示!
  • (2)令y1中的两个变量分别从0到2积分,使用from scipy.integrate import dblquad导入二重积分的包,而计算二重积分的格式为dblquad(y1,0,2,lambda g:0,lambda h:2),其中前面的0,2表示x的积分限,lambda g:0,lambda h:2表示y的积分限。而且dblquad返回两个值,一个是积分值,另一个是误差,可设两个变量接收结果,后面需要使用时仅用积分值即可。最终得到E(X)。
  • (3)令y2中的两个变量分别从0到2积分,得到E(Y)。令y3中的两个变量分别从0到2积分,得到E(X2)。令y4中的两个变量分别从0到2积分,得到E(Y2)。令y5中的两个变量分别从0到2积分,得到E(XY)。
  • (4)使用方差的计算公式,计算D(X),D(Y)。使用协方差的计算公式,计算协方差。再使用,求出相关系数。
from scipy.integrate import dblquad
import math
Ex, err1 = dblquad(lambda y,x:1/8*x*(x+y),0,2,lambda g:0,lambda h:2)
print(Ex)
Ey, err2 = dblquad(lambda y,x:1/8*y*(x+y),0,2,lambda g:0,lambda h:2)
print(Ey)
Ex2, err3 = dblquad(lambda y,x:1/8*x*x*(x+y),0,2,lambda g:0,lambda h:2)
print(Ex2)
Ey2, err4 = dblquad(lambda y,x:1/8*y*y*(x+y),0,2,lambda g:0,lambda h:2)
print(Ey2)
Exy, err3 = dblquad(lambda y,x:1/8*x*y*(x+y),0,2,lambda g:0,lambda h:2)
print(Exy)
Dx = (Ex2-Ex)**2
print(Dx)
Dy = (Ey2-Ey)**2
print(Dy)
cov = Exy-Ex*Ey
print(cov)
p = cov/math.sqrt(Dx*Dy)
print(p)

本文用到的文章
统计函数库scipy
二重积分求法1
二重积分求法2
常用python模拟分布及其可视化1
常用python模拟分布及其可视化2
🌟离散型随机变量(二项分布和泊松分布及其应用)
蒙特卡洛方法计算圆周率并将撒点分布和π估计值可视化


http://chatgpt.dhexx.cn/article/qEChVXEn.shtml

相关文章

matlab 数理统计,概率论和数理统计(matlab应用)1

概率论和数理统计(matlab应用)1 (2006-04-29 08:53:49) 12.1 概 述 自然界和社会上会发生各种各样的现象&#xff0c;其中有的现象在一定条件下是一定要发生的&#xff0c;有的则表现出一定的随机性&#xff0c;但总体上又有一定的规律可循。一般称前者为确定性事件&#xff0c…

正态分布中normpdf和normcdf的区别

同时&#xff0c;也可以扩展为其它函数的区别&#xff0c;即pdf与cdf

matlab中normcdf函数用法,Matlab中标准正态分布的密度函数是normcdf(x,0,1)

中标准正属于项目资本现金流量表中现金流出构成的是() 态分USCI模块中的波特率由分频器和调制器共同作用生成。 在MSP430F66xx时钟设置中XT1的XIN和XOUT引脚接32768Hz低频晶振&#xff0c;密度则UCSCTL6的UCSCTL6 & ~XT1OFF表示使能XT1&#xff0c;UCSCTL6 | XCAP_3表示选择…

matlab中normcdf和normpdf区别

最近准备参加个数学建模&#xff0c;其中校赛题目是有关于正态分布的排队论&#xff0c;在做的时候总是发现有问题&#xff0c;后来仔细研究才发现在matlab中关于正态分布有两个函数normcdf和normpdf。

【Matlab】正态分布常用函数normpdf_normcdf_norminv_normrnd_normfit

1.normpdf 功能&#xff1a;正态分布概率密度函数 用法 Y normpdf(X,mu,sigma) Y normpdf(X) % (mu 0, sigma 1) Y normpdf(X,mu) % (sigma 1)例子 % code1 % 画标准正态分布概率密度函数 x -10:0.01:10; y normpdf(x, 0, 1); plot(x,y); grid on;结果&#xff1a…

firefox iMacros

iMacros是一个基于firefox的插件&#xff0c;它可以帮助你自动填写表单&#xff0c;自动提交&#xff0c;自动上传下载等 iMacros就是一个可以帮助你实现自动化重复性的任务。无论你对Firefox做什么&#xff0c;iMacros可以自动执行它。网络设计人员可以使用的功能测试和回归测…

SEO必备的利器–iMacros

Via http://www.snailtoday.com/2012/02/imacros/ 今天向大家介绍一个做SEO必备的利器–iMacros&#xff0c;我们可以用它来自动发布博客评论、自动注册论坛账号、自动发布文章等&#xff0c;几乎可以和一些SEO软件相媲美。其实在之前翻译的一篇文章《10000美元/天是这样炼成的…

imacros:使用外部编辑器

2019独角兽企业重金招聘Python工程师标准>>> 在imacros中&#xff0c;右击iim文件&#xff0c;选择编辑宏&#xff0c;会调用imacros自带的编辑器进行编辑。 其实也可以自定义&#xff1a; 在Paths选项卡中选择外部编辑器&#xff1a; 转载于:https://my.oschina.ne…

FF的插件iMacros简单交流

今天组织了公司第一次软件测试沙龙&#xff0c;主题是自动化测试插件--iMacros&#xff0c;公司的一位同事分享了他关于iMacros使用的一些心得给我们分享&#xff0c;现小小总结一下&#xff1a; iMacros是一款功能比较强的FF插件&#xff08;当然也有IE和chrome的版本&#xf…

imacros:初次尝试

2019独角兽企业重金招聘Python工程师标准>>> 安装 打开火狐插件管理页面&#xff0c;搜索、安装&#xff1a; 当然&#xff0c;用的免费版本。 安装后&#xff0c;工具栏出现&#xff1a; 示例 VERSION BUILD9030808 RECORDERFX TAB T1 TAB CLOSEALLOTHERS URL GOT…

imacros:运行javascript

2019独角兽企业重金招聘Python工程师标准>>> 将#Current.iim重命名为js后缀的文件&#xff0c;例如test.js。注意&#xff0c;每次录制时都会有新的#Current.iim产生&#xff0c;若无则会新建&#xff0c;有则覆盖内容。 运行test.js&#xff1a; 这里的js有较多的限…

如何使用iMacros进行web程序中页面加载的性能测试

iMacros 的官方简介如下&#xff0c;这里就不做翻译了&#xff0c;本人觉得还是看原汁原味的介绍好。 iMacros is an extension for the Mozilla Firefox web browsers which adds record and replay functionality similar to that found in web testing and form filler sof…

火狐浏览器Firefox 如何使用iMacros 自动填写网页表单

1 我们首先访问一个想要自动填写表单的网站。我们以百度为例&#xff0c;右侧有登录窗口。 2 然后我们点开刚安装上的iMacros插件&#xff0c;一般安装之后就会自动出现在浏览器的某个地方&#xff0c;点击记录选项卡&#xff0c;再点击记录。 3 iMacros将立即开始记录宏命令…

如何使用iMacros自动化重复的网页浏览器任务

如何使用iMacros自动化重复的网页浏览器任务 计算机应该自动重复任务- 如果你发现自己提交或者重复地导航网站&#xff0c;试试 iMacros 。 是 easy-to-use - 你只需要做一次动作。 iMacros对于任何在web浏览器中执行重复任务的人都是理想的&#xff0c;无论是否重复提交复杂的…

使用 iMacros 来自动化日常的工作

不管在哪一个行业&#xff0c;测试已经成为制造&#xff0c;开发流程中&#xff0c;一个必要的环节。特别是指软件行业。 近年来由于 Web Application 的开发&#xff0c;是市场上热门的显学&#xff0c;虽然不到汉武帝“独尊儒术”的一统天下&#xff0c;但是根据有效的问卷调…

iMacros使用技巧

众所周知&#xff0c;iMacros是一款优秀的Chrome插件&#xff0c;可以方便的录制、运行浏览器宏命令&#xff0c;是抢课截胡的神器&#xff08;手动滑稽&#xff09;&#xff0c;在此简单记录一下它的使用技巧。 技巧一&#xff1a;合理使用WAIT SECONDS命令 WAIT SECONDS 等待…

imacros

为什么80%的码农都做不了架构师&#xff1f;>>> 软件测试 imacros Firefox火狐扩展iMacro脚本入门教程 http://macrotea.iteye.com/blog/1702554 转载于:https://my.oschina.net/lsjun/blog/335799

imacros自动跑代码_如何使用iMacros自动执行重复的Web浏览器任务

imacros自动跑代码 Computers are supposed to automate repetitive tasks – if you find yourself submitting forms over and over or repeatedly navigating a website by hand, try iMacros. It’s easy-to-use – all you have to do is perform an action once. 计算机应…

串联系统与并联系统可靠性计算

串联系统 每个环节都必须能够正常工作 所以串联系统的可靠度就是 R0的正常率 * R1的正常率 * R2的正常率 * R3的正常率 一直到结束 并联系统 仅当所有子系统都失效的时候该并联系统才会失效&#xff0c;所以改并联系统的失效率或者可靠性很好计算&#xff0c;就是用1 - 失效率…

软考之系统可靠性

一&#xff1a;前言 在备战软考时&#xff0c;经常遇到考察计算机系统可靠性计算的。这类题考察程度不难&#xff0c;就是容易混淆串联与并联。所以&#xff0c;要了解基本的运算公式。 二&#xff1a;操作 可靠性计算涉及到三种系统&#xff1a; 1.串联系统&#xff1a; 计…