Matlab 线性同余法产生随机数
1、隨機(jī)數(shù)的產(chǎn)生
(1)隨機(jī)數(shù)是各種不同分布隨機(jī)變量的抽樣序列。進(jìn)行隨機(jī)信號(hào)仿真分析時(shí),需要產(chǎn)生各種分布的隨機(jī)數(shù)。
(2)產(chǎn)生方法: Matlab仿真
2、線性同余法
3、隨機(jī)序列的數(shù)字特征估計(jì)
(1)隨機(jī)序列X(n)具有各態(tài)歷經(jīng)性
可通過隨機(jī)序列的一條樣本函數(shù)來獲得該信號(hào)的統(tǒng)計(jì)特性。
(2)數(shù)字特征估計(jì)
樣本均值
樣本方差
樣本自相關(guān)函數(shù)
4、Matlab函數(shù)
(1)均值函數(shù) m=mean(x)
(2)方差函數(shù) sigma2=var(x)
(3)互相關(guān)函數(shù):xcorr 用法:c=xcorr(x,y) ;C=xcorr(x)
功能:xcorr(x,y)計(jì)算x(n)與y(n)的互相關(guān);xcorr(x)計(jì)算x(n)的自相關(guān)。
5、例題:
采用線性同余法產(chǎn)生均勻分布隨機(jī)數(shù)N個(gè),計(jì)算該序列的均值和方差與理論值之間的誤差大小;
代碼如下:
clear; clc;
N = 2^31; %一組參數(shù)
K = 2^16+3; %一組參數(shù)
y = zeros(1,1000); %隨機(jī)數(shù)初始矩陣,即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('橫坐標(biāo)');
ylabel('產(chǎn)生的隨機(jī)數(shù)');
title('隨機(jī)數(shù)可視化');
m = mean(un) %均值
sigma2 = var(un) %方差
ms = 1/2 %均值標(biāo)準(zhǔn)值
sigma2s = 1/12 %方差標(biāo)準(zhǔn)值
Em = abs(m-ms)/ms %計(jì)算均值誤差
Esigma2 = abs(sigma2-sigma2s)/sigma2s %計(jì)算方差誤差
總結(jié)
以上是生活随笔為你收集整理的Matlab 线性同余法产生随机数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT 透明 半透明 效果
- 下一篇: HTTP_REFERER的用法及伪造