当前位置: 首页 > news >正文

【实验报告】华东理工大学随机信号处理实验报告

实验1 离散随机变量的仿真与计算

  • 实验目的

掌握均匀分布的随机变量产生的常用方法。

    掌握高斯分布随机变量的仿真,并对其数字特征进行估计。

  • 实验步骤
  1. 实验准备
  1. 安装python环境(3.12.2版本)
  1. 安装第三方库:numpy,用于生成随机数和计算统计量
  1. 编写代码
import numpy as np
import mathdef generate_uniform(mean, variance, size=10000):"""生成指定均值和方差的均匀分布随机数均匀分布U(a,b)的均值为(a+b)/2,方差为(b-a)²/12"""# 根据均值和方差计算a和ba = mean - math.sqrt(3 * variance)b = mean + math.sqrt(3 * variance)# 生成均匀分布随机数uniform_data = np.random.uniform(a, b, size)# 理论值theoretical = {'mean': mean,'variance': variance,'min': a,'max': b}return uniform_data, theoreticaldef generate_gaussian(mean, variance, size=10000):"""生成指定均值和方差的高斯分布随机数"""# 标准差是方差的平方根std = math.sqrt(variance)# 生成高斯分布随机数gaussian_data = np.random.normal(mean, std, size)# 理论值(高斯分布没有严格的最大最小值)theoretical = {'mean': mean,'variance': variance,'min': None,  # 高斯分布理论上没有最小值'max': None   # 高斯分布理论上没有最大值}return gaussian_data, theoreticaldef calculate_statistics(data):"""计算数据的统计特性"""stats = {'mean': np.mean(data),'variance': np.var(data),'min': np.min(data),'max': np.max(data)}return statsdef compare_distributions(mean, variance, size=10000):"""比较均匀分布和高斯分布的统计特性"""print(f"比较均值为{mean},方差为{variance}的随机分布 (样本量: {size})")print("=" * 70)# 处理均匀分布print("\n1. 均匀分布:")uniform_data, uniform_theo = generate_uniform(mean, variance, size)uniform_stats = calculate_statistics(uniform_data)print(f"  理论均值: {uniform_theo['mean']:.6f}, 实际均值: {uniform_stats['mean']:.6f}, "f"误差: {abs(uniform_stats['mean'] - uniform_theo['mean']):.6f}")print(f"  理论方差: {uniform_theo['variance']:.6f}, 实际方差: {uniform_stats['variance']:.6f}, "f"误差: {abs(uniform_stats['variance'] - uniform_theo['variance']):.6f}")print(f"  理论最小值: {uniform_theo['min']:.6f}, 实际最小值: {uniform_stats['min']:.6f}")print(f"  理论最大值: {uniform_theo['max']:.6f}, 实际最大值: {uniform_stats['max']:.6f}")# 处理高斯分布print("\n2. 高斯分布:")gaussian_data, gaussian_theo = generate_gaussian(mean, variance, size)gaussian_stats = calculate_statistics(gaussian_data)print(f"  理论均值: {gaussian_theo['mean']:.6f}, 实际均值: {gaussian_stats['mean']:.6f}, "f"误差: {abs(gaussian_stats['mean'] - gaussian_theo['mean']):.6f}")print(f"  理论方差: {gaussian_theo['variance']:.6f}, 实际方差: {gaussian_stats['variance']:.6f}, "f"误差: {abs(gaussian_stats['variance'] - gaussian_theo['variance']):.6f}")print(f"  实际最小值: {gaussian_stats['min']:.6f}")print(f"  实际最大值: {gaussian_stats['max']:.6f}")if __name__ == "__main__":# 指定的均值和方差target_mean = 5.0target_variance = 10.0sample_size = 500000  # 样本量越大,实际值越接近理论值compare_distributions(target_mean, target_variance, sample_size)
  1. 程序运行
  1. 将编写的代码保存为suijibianliang.py文件
  2. 执行运行命令
  1. 结果记录
  1. 等待程序运行完成,观察终端输出的统计结果

  1. 记录均匀分布的理论值与实际值(均值、方差、最大值和最小值)及误差
  2. 记录高斯分布的理论值与实际值(均值、方差、最大值和最小值)及误差
  3. 修改样本量参数,修改均值参数,修改方差参数,重复运行
  4. 记录实验结果并分析

实验原理

  1. 均匀分布

均匀分布 U (a, b) 是指在区间 [a, b) 内的概率密度为常数的连续概率分布:

概率密度函数:f (x) = 1/(b-a),当 a ≤ x < b

理论均值:μ = (a + b) / 2

理论方差:σ² = (b - a)² / 12

根据给定的目标均值μ和方差σ² ,可以反推出参数:

a = μ - √(3σ²)

b = μ + √(3σ²)

对应代码为:

a = mean - math.sqrt(3 * variance)

b = mean + math.sqrt(3 * variance)

np.random.uniform (a, b, size) 生成 [a, b) 区间内的均匀分布随机数

  1. 高斯分布

高斯分布 N (μ, σ²) 是一种常见的连续概率分布:

概率密度函数:f(x) = (1/√(2πσ²))·exp[-(x-μ)²/(2σ²)]

理论均值:μ

理论方差:σ²

np.random.normal (mean, std, size) 生成指定均值和标准差的正态分布随机数

  1. 统计量计算

对生成的随机数样本,计算以下统计量:

样本均值:x̄ = (1/n)·Σxᵢ

样本方差:s² = (1/n)·Σ(xᵢ - x̄)²

最小值:min(xᵢ)

最大值:max(xᵢ)

  • 实验结果并分析
  1. 样本量大小对实际值与理论值误差的影响

修改样本量参数:sample_size分别为5000、50000、500000

当样本量逐渐增大时,样本的统计量会逐渐趋近于总体的理论值;

样本量越大:实际统计值与理论值的误差越小;样本量越小:随机波动的影响越显著,误差较大

  1. 比较均匀分布和高斯分布的统计特性差异

修改均值参数:target_mean分别为0、10、20

修改方差参数:target_variance分别为1、5、10

均匀分布的均值μ=(a+b)/2,位于区间正中心;方差σ²=(b-a)²/12,仅由区间长度决定

高斯分布的均值μ为分布的中心对称点;方差σ²决定分布的 "胖瘦",值越大离散度越高

  1. 均匀分布的实际最大值和最小值与理论值的接近程度

均匀分布 U (a,b) 的理论最小值为a,理论最大值为b,所有随机数严格落在 [a,b) 区间内;

当样本量较小时,实际最大值可能小于b,实际最小值可能大于a,与理论值有明显差距;当样本量增大时,实际最值会非常接近理论值a和b;当样本量足够大时,实际最值几乎与理论值重合

  1. 分析高斯分布的实际最大值和最小值的变化规律

高斯分布没有严格的理论最值,理论上随机数可取值到 ±∞,但极端值出现的概率极低;

样本量越大,实际最大值可能越大,实际最小值可能越小;标准差σ越大,实际最值的波动范围越广;相同样本量下,多次实验的实际最值会有波动,但整体围绕μ±kσ的范围波动

  • 总结
  1. 随着样本量增加,极端值对整体统计结果的影响会被稀释,样本更能反映总体的真实特性;
  2. 均匀分布是平等的取值分布,而高斯分布是中心聚集的取值分布;
  3. 均匀分布的随机数在区间内均匀取值,样本量越大,随机数覆盖整个区间的概率越高,因此实际最值会逐渐逼近理论边界a和b;
  4. 高斯分布的取值范围符合“3σ原则”,概率集中在均值附近,极端值罕见,实际最值无固定边界,但随样本量增大呈现可预测的扩展趋势

实验报告要求

(1)编写Matlab或Python程序实现产生指定均值和方差的均匀分布和高斯分布的随机数;

(2)求该随机数的最大值、最小值、均值和方差,并与理论值相比较。

http://www.dtcms.com/a/420207.html

相关文章:

  • 个人做网站 需要学什么只是陕西网站建设
  • 数据结构入门 (四):双向通行的“高速公路” —— 深入双向循环链表
  • 西安做网站公司玖佰网络如何在google上免费推广
  • 个人域名备案完成了 可以改网站内容吗wordpress个人展示网站6
  • MySQL中SELECT 语句如何 INTO OUTFILE 保存数据到文件
  • 防火墙技术、模型、发展趋势、局限性及安全体系相关分析
  • 上海网站建设公司推荐排名网站建设中英语
  • 电脑从做系统怎么找回以前登录的网站wordpress网站合并
  • 做网站排名多少钱有没有专门做儿童房的网站
  • 菁染料CY5-二硬脂酰基磷脂酰乙醇胺,CY5标记的二硬脂酰基磷脂酰乙醇胺三个核心组成部分
  • 酵母表面展示技术:真核蛋白工程的 “全能工具”,如何重塑生物医学研究?
  • 泸州市住房和城乡建设厅官方网站WordPress破解怎样主题修复
  • redis常见数据结构及其编码方式
  • 双八网站建设深圳定做网站
  • 来个网站奖励自己单页网站怎么制作教程
  • 网站建设费用做网站和app哪个简单
  • 什么网站可以做直播wordpress 多个域名
  • Windows版本PostgreSQL定时备份
  • 网站运营维护方案苏州知名网站建设建站公司
  • 空壳网站主体注销浙江省建设监理管理协会网站
  • Webpack5 第五节
  • 网站的建立设计app的软件
  • “优化编码(Z)” 带来更稳定?还是带来不稳定?- Task.Delay引发的思考
  • 医疗网站前置审批广州制作网站公司简介
  • 帮人做钓鱼网站以及维护建设工程招标专业网站
  • 河南基安建设集团有限公司网站江苏常州网站建设
  • 小视频网站源码不良网站进入窗口
  • 分割数组得到最小绝对差
  • openGauss数据库自动安装脚本
  • GSM8K:评估大模型数学推理能力的关键数据集