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

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

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

  • 实验目的

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

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

  • 实验步骤
  1. 实验准备
  1. 安装python环境(3.12.2版本)
  1. 安装第三方库:numpy,用于生成随机数和计算统计量
  1. 编写代码
import numpy as np
import math
def 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, theoretical
def 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, theoretical
def calculate_statistics(data):"""计算数据的统计特性"""stats = {'mean': np.mean(data),'variance': np.var(data),'min': np.min(data),'max': np.max(data)}return stats
def 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.hskmm.com/?act=detail&tid=23391

相关文章:

  • 页面置换算法
  • 推进电子设计革新:仿真(Emulation)如何引领下一代验证方式
  • AT_abc309_g [ABC309G] Ban Permutation
  • 在Mac上运行Windows 365的完整指南
  • 摩刻S10 动感单车 速度传感器故障及更换!
  • 2025盐酸优质厂家权威推荐榜:高纯度盐酸的品质之选
  • 2025硫酸优质厂家权威推荐榜:高品质与强供应口碑之选
  • 2025冰乙酸供应厂家权威推荐榜:品质卓越与市场口碑双重保障
  • 工业氨水优质厂家推荐:实力制造商深度解析与选购指南
  • 2025液碱厂家权威推荐榜:实力供应商深度解析与选择指南
  • 2025片碱厂家权威推荐榜:优质供应与实力生产口碑之选
  • 2025阳离子聚丙烯酰胺厂家推荐榜:高效絮凝与定制解决方案
  • 2025硫铵厂家权威推荐榜:实力生产与优质供应口碑之选
  • 2025年硫酸铵厂家权威推荐榜:实力生产与优质供应口碑之选
  • 2025年硫化钠厂家权威推荐榜:优质供应商与实力制造商精选
  • 2025 年热压机厂家 TOP 企业品牌推荐排行榜,深度剖析河北热压机,廊坊热压机,霸州热压机推荐这十家公司!
  • 【Anthropic好文】AI 代理的高效上下文工程
  • 请求分页管理方式
  • vim中leader和localleader对比
  • 详细介绍:[论文阅读] AI + 软件工程 | 从“事后补救”到“实时防控”,SemGuard重塑LLM代码生成质量
  • 2025 年转基因小鼠公司 TOP 企业品牌推荐排行榜,传统 KO 转基因小鼠,条件性 cKO 转基因小鼠,ROSA26 位点基因 KI 小鼠,Tol2 转基因小鼠模型,点突变敲入转基因小鼠公司推荐!
  • 2025 年人源化小鼠公司 TOP 企业品牌推荐排行榜,基因,免疫系统,抗体,临床前 CRO 型,基因,精准医疗型,创新型人源化小鼠,人源化小鼠动物模型公司推荐!
  • 国产GPU/AI芯片第三篇 - 沐曦
  • 2025防撞护栏厂家 TOP 企业品牌推荐排行榜,铝合金,Q235 桥梁,Q355B 桥梁,景观桥梁,灯光桥梁,河道桥梁,公路桥梁,喷塑桥梁,道路桥梁防撞护栏公司推荐!
  • 摩尔线程之后,看燧原科技,相关公司梳理
  • 读人形机器人29未来10年
  • 01分数规划
  • 2025加热器厂家TOP企业品牌推荐排行榜,机柜加热器,柜内,紧凑,工业,ptc风扇型,紧凑型风扇,电阻,小型半导体,省空间型风扇加热器推荐这十家公司!
  • 2025折弯机厂家TOP企业品牌推荐排行榜,数控折弯机,电液伺服折弯机,电液折弯机,小型折弯机,液压折弯机推荐这十家公司!
  • 关于践行「AI元人文」理念、迈向审慎智慧的倡议书