matlab实现对数正态分布的随机取值

本人在用lognrnd欲实现对一个服从对数正态分布,均值为60.2,方差为2.9的数进行随机取样时lognrnd(60.2,2.9)(比如取10个样),运行的结果是9个为0,一个为10^17次方的数。。。。这个结果太不合理了,请哪位高手帮忙分析一下。小妹感激不尽!!

你输入help longnrnd后有段显示如下:
R = lognrnd(mu,sigma) returns an array of random numbers generated from the lognormal distribution with parameters mu and sigma. mu and sigma are the mean and standard deviation, respectively, of the associated normal distribution. mu and sigma can be vectors, matrices, or multidimensional arrays that have the same size, which is also the size of R. A scalar input for mu or sigma is expanded to a constant array with the same dimensions as the other input.
这段文字明确的告诉你了,
R = lognrnd (mu,sigma),返回一个随机产生的对数正态分布 。 mu和sigma的均值和标准差,mu和sigma可以是 vectors, matrices, or multidimensional array,他们具有相同的大小,和产生的R是一样的。
我翻译水平有限,你自己翻译看看,体会里面的意思吧.
你说的是方差为2.9,不是标准差,
还有问题的话你自己琢磨,多看看help文件有很大的帮助
温馨提示:内容为网友见解,仅供参考
无其他回答

matlab实现对数正态分布的随机取值
R = lognrnd (mu,sigma),返回一个随机产生的对数正态分布 。 mu和sigma的均值和标准差,mu和sigma可以是 vectors, matrices, or multidimensional array,他们具有相同的大小,和产生的R是一样的。我翻译水平有限,你自己翻译看看,体会里面的意思吧.你说的是方差为2.9,不是标准差,还有问题的话...

matlab怎么生成正态分布随机数
第一步我们首先需要知道matlab中可以使用randn函数生成正态分布随机数,在命令行窗口中输入“help randn”,可以看到randn函数的使用方法,如下图所示:第二步输入randn(5),生成一个均值为0,方差和标准差为1的5行5列正态分布随机数矩阵,如下图所示:第三步输入randn(3,4),可以生成一个3行4列的...

用MATLAB实现对数正太分布的随机取值
normrnd(0.03,0.01,M,N)可以产生mu为0.03,sigma为0.01的数实现正态分布的MxN的矩阵 lognrnd Random matrices from the lognormal distribution.lognrnd(0.03,0.01,M,N) 可以产生mu为0.03,sigma为0.01的对数正态分布的MxN的矩阵 matlab提供了randperm函数,可以实现不雷同的随机取数 ...

如何matlab取正态分布随机数
1. R=normrnd(MU,SIGMA):生成服从正态分布(MU参数代表均值,SIGMA参数代表标准差)的随机数。输入的向量或矩阵MU和SIGMA必须形式相同,输出R也和它们形式相同。标量输入将被扩展成和其它输入具有相同维数的矩阵。2. R=normrnd(MU,SIGMA,m,n): 生成m×n形式的正态分布的随机数矩阵。实例:生成均值...

matlab 求一组符合正态分布的随机数
第一种方法:利用标准参数下的分布函数结合参数进行运算,如下:datan1 = 0.5 + randn(10,1);由于将普通的正态分布转化为标准正态分布十分简单,因此上面的计算后得到相应参数的正态分布是合理的。第二种方法:直接调用random函数,如下:datan2= random('norm', 0.5, sqrt(1))random函数的第...

求生成正对数(truncated)分布或截断正态分布随机数的matlab代码
0864 0.7806 1.0080 0.5504 0.3454 0.5813 对数正态分布 r = lognrnd(0,1,4,3)%%用lognrnd函数产生对数正态分布随机数,0是均值,1是方差,4,3是最后生成r的大小 r = 3.2058 0.4983 1.3022 1.8717 5.4529 2.3909 1.0780 1.0608 0.2355 1.4213 6.0320 0.4960 ...

怎么用matlab做出来的正态分布的随机整数
您好,您这样:使用randn或者normpdf。randn 产生标准正态分布 转成需要的非正态分布: r = μ + δ*randn(m,n);normpdf 产生正态分布normpdf(x,μ,δ) x为范围。

怎样用MATLAB生成N个满足对数正态分布的数,说说方法和程序
生成1e6个均值为1、方差为2的对数正态分布的随机数 N=1e6;m = 1;v = 2;mu = log((m^2)\/sqrt(v+m^2));sigma = sqrt(log(v\/(m^2)+1))[M,V]= lognstat(mu,sigma)X = lognrnd(mu,sigma,1,N);

用matlab产生1000个服从某种条件下的正态分布的随机数
[2 1;1 4],100)要求随机数范围在0-1之间,均值可取0.5;又由于正态分布99.7%的值在平均数左右三个标准差的范围内,所以标准差取0.5\/3。因为只是要近似服从正态分布,可以考虑把超出边界的少量数据直接放在中间,影响不大:123D=randn(1000,1)\/6+0.5;D(D<0|D>1)=0.5;hist(D,30)...

matlab 求取对数正态分布参数
比如我给出一个实例 [code]生成一个logn分布的随机数 >>data=lognrnd(1,2,1,1000);参数拟合 >>[parmhat,parmci]= lognfit(data)parmhat = 0.9138 1.8870 parmci = 0.7967 1.8078 1.0309 1.9735[\/code]by dynamic see also http:\/\/www.matlabsky.com contact me matlabsky@gmail....

相似回答