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 %計算方差誤差
總結
以上是生活随笔為你收集整理的Matlab 线性同余法产生随机数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT 透明 半透明 效果
- 下一篇: HTTP_REFERER的用法及伪造