怎样用MATLAB语句产生均值为零服从瑞利分布的随机数
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/25 04:04:33
怎样用MATLAB语句产生均值为零服从瑞利分布的随机数
Matlab中提供了直接的函数,生成瑞利分布随机数raylrnd
下面我提供一个直接的函数吧
function x = RelayDist(x0,sigma,n)
x = zeros(n,1);
for i=1:n
r = MixMOD(x0,10,1);
k = 0;
while r(10) == 0
k = k + 1;
r(10) = power(2,k);
r = MixMOD(r(10),2,1);
end
y = -2*log(r(10));
x(i) = sigma*sqrt(y);
x0 = x(i);
end
function r = MixMOD(x0,n,type)
format long;
M1 = power(2,31);
M2 = power(2,35);
a1 = 314159269;
a2 = power(5,15);
c1 = 453806245;
c2 = 1;
r = zeros(n,1);
x = zeros(n+1,1);
x(1) = x0;
if type == 1
for i=2:n+1
y = a1*x(i-1)+c1;
x(i) = mod(y,M1);
r(i-1) = x(i)/M1;
end
else
for i=2:n+1
y = a2*x(i-1)+c2;
x(i) = mod(y,M2);
r(i-1) = x(i)/M2;
end
end
format short;
下面我提供一个直接的函数吧
function x = RelayDist(x0,sigma,n)
x = zeros(n,1);
for i=1:n
r = MixMOD(x0,10,1);
k = 0;
while r(10) == 0
k = k + 1;
r(10) = power(2,k);
r = MixMOD(r(10),2,1);
end
y = -2*log(r(10));
x(i) = sigma*sqrt(y);
x0 = x(i);
end
function r = MixMOD(x0,n,type)
format long;
M1 = power(2,31);
M2 = power(2,35);
a1 = 314159269;
a2 = power(5,15);
c1 = 453806245;
c2 = 1;
r = zeros(n,1);
x = zeros(n+1,1);
x(1) = x0;
if type == 1
for i=2:n+1
y = a1*x(i-1)+c1;
x(i) = mod(y,M1);
r(i-1) = x(i)/M1;
end
else
for i=2:n+1
y = a2*x(i-1)+c2;
x(i) = mod(y,M2);
r(i-1) = x(i)/M2;
end
end
format short;
matlab如何生成服从复高斯分布的随机数(均值为0,方差为1)
怎样用matlab产生以2为方差,1为均值的随机数
matlab里如何产生方差均值已知的服从正态分布的随机数?
用matlab产生一零均值的随机数序列v(n),长度为100,[-2,2]上均匀分布
请问 如何利用matlab产生服从泊松分布的随机数.代码怎么写.
怎样用matlab产生一组和为1的随机数?
matlab 瑞利分布
matlab中产生两个服从标准正态分布随机数的操作
老师给的一个编写服从泊松分布的随机数的算法程序(Matlab编程,在r=2时,分别产生10个随机数.代码如下:
怎样用matlab编程产生45个和为61的随机数
为什么matlab里randn产生的不是零均值数列
在matlab中看瑞利分布