Matlab 线性同余法产生随机数

1、随机数的产生

(1)随机数是各种不同分布随机变量的抽样序列。进行随机信号仿真分析时,需要产生各种分布的随机数。

(2)产生方法: Matlab仿真

2、线性同余法

3、随机序列的数字特征估计

(1)随机序列X(n)具有各态历经性

可通过随机序列的一条样本函数来获得该信号的统计特性。

(2)数字特征估计

样本均值

样本方差

样本自相关函数

4、Matlab函数

(1)均值函数 m=mean(x)

(2)方差函数 sigma2=var(x)

(3)互相关函数:xcorr 用法:c=xcorr(x,y) ;C=xcorr(x)

功能:xcorr(x,y)计算x(n)与y(n)的互相关;xcorr(x)计算x(n)的自相关。

5、例题:

采用线性同余法产生均匀分布随机数N个,计算该序列的均值和方差与理论值之间的误差大小;

代码如下:

clear; clc;

N = 2^31; %一组参数

K = 2^16+3; %一组参数

y = zeros(1,1000); %随机数初始矩阵,即N为1000

un = zeros(1,1000);

y(1) = 1;

for i = 1:1000 %线性同余

y(i+1) = mod(K*y(i),N);

un(i) = y(i+1)/N;

end

plot(y); %可视化

xlabel('横坐标');

ylabel('产生的随机数');

title('随机数可视化');

m = mean(un) %均值

sigma2 = var(un) %方差

ms = 1/2 %均值标准值

sigma2s = 1/12 %方差标准值

Em = abs(m-ms)/ms %计算均值误差

Esigma2 = abs(sigma2-sigma2s)/sigma2s %计算方差误差

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值