各种随机信号的产生及分析实验
1、实验目的
(1)学习采用Matlab程序产生正态分布和均匀分布的随机数;
(2)学习使用Matlab统计所产生的随机数的直方图,并与概率密度曲线进行比对;
(3) 掌握使用Matlab计算随机数均值、方差的计算方法;
2、实验原理
一维正态分布概率密度函数:
其中:是均值,是方差。
一维均匀分布概率密度函数:
其均值和方差分别为
,
3、实验内容及要求
(1)产生均值为0,方差为2的正态分布随机变量的样本数据25个。计算样本均值和方差,并与真实值进行比较。画出样本的直方图,并与正态分布的概率密度函数做比较。画出样本的分布图;
(2)产生均值为0,方差为2的正态分布随机变量的样本数据1000个。计算样本均值和方差,并与真实值进行比较。画出样本的直方图,并与正态分布的概率密度函数做比较。画出样本的分布图;
(3)比较前两项实验结果,定性的说明样本数量大小是如何影响均值、方差和概率密度函数估值结果的。经典概率依靠大量重复实验中事件发生频率的稳定性进行定义。上述两个实验结果对比,是否反映了事件发生频率的稳定性?
(4)产生均值为0,方差为2的均匀分布随机变量的样本数据1000个。计算样本均值和方差,并与真实值进行比较。画出样本的直方图,并与均匀分布的概率密度函数做比较。画出样本的分布图;
(5)比较(2)与(4)的结果,两个分布不同的随机变量可以具有相同的均值和方差。换言之,已知一阶矩和二阶矩并不能确定样本的分布。比较(2)与(4)中所产生随机变量样本的三阶中心距和四阶中心距是否相同?两个分布不同的随机变量是否可能所有阶的生成矩都相同?
相关Matlab函数:rand, randn, hist, mean, var, pdf等。
4、实验结果
4.1 25
4.2 1000
实验源程序
clear
close all;
mu=0;
sigma=sqrt(2);
sample=mu+sigma*randn(1,1000);
average=mean(sample);
variance=var(sample);
t=min(sample):0.5:max(sample);
hist(sample,t);
xlabel('取值范围');
ylabel('个数');
title('正态分布的样本直方图');
x=-10:0.1:10;
y=normpdf(x,mu,sigma);
d=pdf('norm',x,average,sqrt(variance));
figure;
plot(x,y,'.');
hold on;
plot(x,d,'.');
title('真实值和样本的概率密度函数对照');
legend('真实值的pdf','样本的pdf');
aa=-1*sqrt(2);
bb=sqrt(2);
sample1=((bb-aa)*rand(1,1000))+aa;
average1=mean(sample1);
variance1=var(sample1);
tt=min(sample1):0.5:max(sample1);
figure;
hist(sample1,tt);
xlabel('取值范围');
ylabel('个数');
title('均匀分布的样本直方图');
xx=-5:0.1:5;
yy=1/(bb-aa);
dd=pdf('unif',xx,min(sample1),max(sample1));
figure;
plot([aa,bb],[yy,yy]);
hold on;
plot(xx,dd,'-.');
title('真实值和样本的概率密度函数对照');
legend('真实值的pdf','样本的pdf');
mean(sample.^3)
mean(sample1.^3)
mean(sample.^4)
mean(sample1.^4)