matlab lognrnd 函数的用法

lognrnd函数是matlab提供的用于生成对数正态分布随机数的函数。
其用法可以用命令help lognrnd查看
其语法格式为:
matlab lognrnd 函数的用法_第1张图片
举例R=lognrnd(mu,sigma,m,n)来说:
这句话将生成m行n列的矩阵,其元素符合均值为mu标准差差为sigma的随机数列。
注意,这里的mu和sigma不是对数正态分布随机数的均值和标准差,而是对数正态分布对应的正态分布随机数的均值和标准差。在这里插入图片描述
正态分布和对数正态分布是紧密相关的,如果X服从(mu,sigma)的对数正态分布,那么lnX就服从(mu,sigma)的正态分布。
那么此时举例,产生标准差为8dB的对数正态分布的10乘1的数组:
matlab lognrnd 函数的用法_第2张图片
对数正态分布的标准差为10^0.8,我们假设其均值为1,那么lognrnd函数的参数mu,sigma为:
matlab lognrnd 函数的用法_第3张图片
MATLAB的代码表示为:
m = 1;
v = 10^1.6;
mu = log((m^ 2 )/sqrt(v+m^2));
sigma = sqrt(log(v/(m^2)+1));
lognrnd(mu,sigma,10,1);

另外,通过参数mu和sigma求对数正态分布的均值和方差可以通过MATLAB提供的lognstat函数
[m.v] = lognstat(mu,sigma)

你可能感兴趣的:(matlab lognrnd 函数的用法)