# 上海交大概率论数理统计大作业代码实现解析

; 题目解析

## 任务一

### 参数生成随机数

#### ; 高斯函数随机数

random.normal(loc=0.0, scale=1.0, size=None)

#### Bernoulli函数随机数

Bernoulli函数生成随机数嘛，博主就自己写函数啦，代码如下：

def bernoulli(possi, size):
random.seed(1)
ans1 = list()
for i in range(size):
ans1.append(1 if random.random()  possi else 0)
return ans1


#### 混合高斯分布随机数

pict = np.random.normal(a, c, 1000) + np.multiply((np.random.normal(b, d, 1000)), np.array(bernoulli(e, 1000)))


### 参数的选取

u1 = list(range(-10, 10, 3))
u2 = u1[0::]
sigma1 = list(range(1, 10, 1))
sigma2 = sigma1[0::]
p = [0, 0.2, 0.4, 0.6, 0.8, 1]


### 生成随机数并画图保存文件

for a, b, c, d, e in itertools.product(u1, u2, sigma1, sigma2, p):

pict = np.random.normal(a, c, 1000) + np.multiply((np.random.normal(b, d, 1000)), np.array(bernoulli(e, 1000)))
fig, (ax0, ax1) = plt.subplots(nrows=2, figsize=(9, 6))

ax0.hist(pict, 25, histtype='bar', facecolor='yellowgreen', alpha=0.75)

ax0.set_title('Frequency distribution graph')
ax1.hist(pict, 20, histtype='bar', facecolor='pink', alpha=0.75, cumulative=True, rwidth=0.8)

ax1.set_title("Cumulative probability function")
plt.savefig(r"E:\results\test{}(u1 = {}, u2 = {}, sigma1 = {}, sigma2 = {}, p = {}).png".format(cnt + 1, a, b, c, d, e))



## ; 任务二

### 参数设置

#### 输入参数n

nn = list(map(int, input().split()))


#### 各项参数

np.random.seed(0)
u1 = 5
u2 = 5
sigma1 = 3
sigma2 = 4
p = 0.5
U = np.array([])
Ez = u1 + p * u2
Dz = sigma1**2 + sigma2**2 + (1 - p**2)*(u2**2)


### 生成随机数画图并保存

for n in nn:
for i in range(1000):
pict = np.random.normal(u1, sigma1, n) + np.multiply((np.random.normal(u2, sigma2, n)),
np.array(bernoulli(p, n)))
res = (1 / ((n * Dz) ** 0.5)) * (pict.sum() - n * Ez)
U = np.append(U, res)

fig, (ax0, ax1) = plt.subplots(nrows=2, figsize=(9, 6))

ax0.hist(U, 25, histtype='bar', facecolor='yellowgreen', alpha=0.75)

ax0.set_title('Frequency distribution graph for n={}'.format(n))
ax1.hist(U, 20, histtype='bar', facecolor='pink', alpha=0.75, cumulative=True, rwidth=0.8)

ax1.set_title("Cumulative probability function n={}".format(n))
plt.savefig(r"E:\result\homework2 u1 = 5 u2 = 5 sigma1 = 3 sigma2 = 4 p = 0.5\test n={}.png".format(n))



## ; 写在最后

Original: https://blog.csdn.net/LRY89757/article/details/117522727
Author: LRY89757
Title: 上海交大概率论数理统计大作业代码实现解析

(0)

### 大家都在看

• #### Python读取.xlsx指定行列

本文以Python3.9.1读取data.xlsx中包含的西瓜数据集3.0数据为例，数据集如下： 编号色泽根蒂敲声纹理脐部触感密度含糖率好瓜1青绿蜷缩浊响清晰凹陷硬滑0.6970….

Python 2023年8月1日
0115
• #### python3使用libpcap库进行抓包及数据处理

python版本：python 3.9 libpcap版本：1.11.0b7 python libpcap库是底层绑定c语言libpcap库的开发包，旨在提供python应用可访问…

Python 2023年10月31日
0115
• #### 女朋友让我深夜十二点催她睡觉，我有Python我就不干

事情是这样的：今晚，我的女朋友让我催促她12点上床睡觉。 [En] Here’s the thing: tonight, my girlfriend asked me …

Python 2023年5月24日
0193
• #### 【Python小系统】四级考满分的学姐告诉你这样学英语逢考必过，赶紧康康叭~（捷径分享）

导语 哈喽哈喽！很久没更新啦，有没有小伙伴儿想我呀~（举手🙋‍） 今天开始恢复更新啦——希望大家多多支持，爆文我就爆更哦~嘿嘿嘿👇 A Deep-sworn Vow Others …

Python 2023年9月18日
0150
• #### 关于 django.db.migrations.exceptions.InconsistentMigrationHistory

出现的原因 出现这个的问题大概有几种： 迁移过程失败，导致 django_migrations 中有记录，但实际没有表 修改了 django 内部的表结构没有做相应的处理 诸如这几…

Python 2023年8月3日
0149
• #### 我去！Python 不愧是脚本之王，这 23 种命令行用法你全部 get 了吗？

1. 快速打印函数的调用栈 在阅读源码的时候，有时候我们想要看整个程序的调用栈是怎样的？ 比较常规的做法是使用全局搜索函数，一层一层往上走，效率非常之低。 而我习惯了使用 pdb …

Python 2023年8月2日
096
• #### 数学建模——熵权法步骤及程序详解

数学建模——熵权法步骤及程序详解 权重的求解一直都是数学建模的重点关注对象，所以学好建模论文的重要一步就是如何确定权重，今天是来介绍一种客观确定几个指标各自所占的权重的方法——熵权…

Python 2023年9月16日
080
• #### windows下vscode环境c++利用matplotlibcpp绘图

下载matplotlibcpp https://github.com/lava/matplotlib-cpp matplotlibcpp测试代码 #include "ma…

Python 2023年9月2日
0127
• #### python_转换为数值类型&map映射&分桶&factorize

Python 2023年5月25日
0138
• #### python中pandas库的作用_python之pandas库详解

pandas 是一个 Python Data Analysis Library.在使用前 import pandas as pd 一.创建对象(产生数据) pandas 中有三种基…

Python 2023年8月6日
0185
• #### aardio + Python 可视化快速开发桌面程序，一键生成独立 EXE

🚀 优质资源分享 🚀 学习路线指引（点击解锁）知识定位人群定位🧡 Python实战微信订餐小程序 🧡 进阶级本课程是python flask+微信小程序的完美结合，从项目搭建到腾讯…

Python 2023年8月15日
0306
• #### 在pandas库中值的修改

import numpy as npimport pandas as pd dates = pd.date_range(‘20220101’,periods…

Python 2023年8月21日
093
• #### Scrapy框架-ItemPipeline的用法

ItemPipeline的用法 主要功能： 核心方法 ItemPipeline实例 * 构造请求 提取信息 存储信息 – MongoDB MySQL Image Pip…

Python 2023年10月6日
091
• #### Django笔记十六之aggregate聚合操作

这一篇笔记介绍一下关于聚合的操作，aggregate。 常用的聚合操作比如有平均数，总数，最大值，最小值等等 用到的 model 如下 class Author(models.Mo…

Python 2023年8月4日
0123
• #### pytest学习笔记

一、pytest特点与优点 二、安装插件 1、常用插件：pytestpytest-html：生成html格式自动化测试报告pytest-xdist：测试用例分布式执行，多CPU分发…

Python 2023年9月14日
0103
• #### 强化学习-学习笔记5 | AlphaGo

本文不是论文阅读笔记，只是一个学习笔记，重在理解，在严谨程度上可能稍差。 AlphaGo 论文指路： Mastering the game of Go with deep neur…

Python 2023年10月25日
0104