Je souhaite développer une distribution lognormale avec la plage [0.42.1.19], dont les quelques éléments sont donnés comme D=[1.19,1.00,0.84,0.71,0.59,0.50,0.42]
. La moyenne devrait être 0.84
et l'écart type aussi petit que possible. Également donné est que le 90% de cdf (= 90% des grains) se situe entre 0.59 and 1.19
. Une fois que je connais tous les éléments de cette distribution log-normale qui intègrent les conditions données, je peux trouver son pdf, ce dont j'ai besoin. Voici les étapes simples que j'ai essayées:Numéros aléatoires lognormaux dans la plage spécifique dans Matlab
D=[1.19,1.00,0.84,0.71,0.59,0.50,0.42];
s=0.30; % std dev of the lognormal distribution
m=0.84; % mean of the lognormal distribution
mu=log(m^2/sqrt(s^2+m^2)); % mean of the associated normal dist.
sigma=sqrt(log((s^2/m^2)+1)); % std dev of the associated normal dist.
[r,c]=size(D);
for i=1:c
D_normal(i)=mu+(sigma.*randn(1));
w(i)=(D_normal(i)-mu)/sigma; % the probability or the wt. percentage
end
sizes=exp(D_normal);
Je suggère d'ajouter le code que vous avez à ce jour à votre question. Cela nous aidera à mieux vous aider. – gnovice
Veuillez formater votre code affiché - vous pouvez le faire en surlignant et en cliquant sur le bouton 'uns-et-zéros'. – Doresoom