Frage

Ich möchte eine Lognormalverteilung mit Bereich entwickeln [0.42,1.19], deren wenige Elemente als D=[1.19,1.00,0.84,0.71,0.59,0.50,0.42] gegeben. Der Mittelwert sollte 0.84 und Standardabweichung so klein wie möglich sein. Auch gegeben ist, dass das 90% der CDF (= 90% der Körner) liegt zwischen 0.59 and 1.19.

Wenn ich weiß, alle Elemente dieser Lognormalverteilung, die die gegebenen Bedingungen übernehmen kann ich seine pdf finden, das ist, was ich verlangen. Hier sind einfache Schritte, die ich versucht:

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);
War es hilfreich?

Lösung

Wenn Sie die Statistiken Toolbox haben, und Sie wollen zufällige Werte aus der Lognormalverteilung zeichnen, können Sie rufen Sie einfach LOGNRND . Wenn Sie die Dichte der Lognormalverteilung mit einem gegebenen Mittelwert und Sigma auf einem bestimmten Wert wissen wollen, verwenden Sie LOGNPDF .

Da Sie Gewichte sind zu berechnen, können Sie für die Dichte suchen. Diese würden, in Ihrem Beispiel:

weights = lognpdf([1.19,1.00,0.84,0.71,0.59,0.50,0.42],0.84,0.3)

weights =
     0.095039     0.026385     0.005212   0.00079218   6.9197e-05   5.6697e-06   2.9244e-07

Bearbeiten

Wenn Sie wissen wollen, was prozentuale Anteil der Körner fällt in den Bereich von 0,59 bis 1,19, verwenden Sie LOGNCDF :

100*diff(logncdf([0.59,1.19],0.84,0.3))
ans =
       1.3202

Das ist nicht viel. Wenn Sie die Verteilung plotten, werden Sie feststellen, dass die Lognormalverteilung mit Ihren Werten Spitzen etwas über 2

x = 0:0.01:10;
figure
plot(x,lognpdf(x,0.84,0.3))

Andere Tipps

Es scheint, dass Sie suchen abgeschnittene lognormal Zufallszahlen zu erzeugen. Wenn meine Vermutung richtig ist, können Sie entweder die Verwerfungsmethode oder

scroll top