我有正态分布的均值和百分位数60。我需要在Matlab中使用这两个值来获取随机数组。 这有点可行吗?
由于
答案 0 :(得分:0)
我不确定你的样子。我知道你想知道分位数的某个值的标准差为0.6(百分位数=分位数* 100)?
来自wikipedia。 (查看分位数μ函数和方差σ2的分位数函数。)
从这里你就拥有了所有你需要的东西:
p = 0.6
F ^ -1(p)是你的百分位数
获取\ sigma它是你的标准差然后生成你的矢量只需使用x = randn(nbSamples,1)* sigma + mean
答案 1 :(得分:0)
m = 2; %// number of rows
n = 5; %// number of columns
mu = 3.2; %// mean
p60 = 0.4; %// 60-percentile
sigma = p60 / norminv(.6); %// compute sigma from p60
result = mu + sigma*randn(m,n); %// random numbers with desired distribution
%// Or: result = normrnd(mu, sigma, m, n);