如下面的代碼所示,我目前正在生成數字,從Normal Distribution
開始,並選擇-3*sigma
和3*sigma
區間內的數字。但是,我現在想要生成數字,以便選擇-3*sigma
和3*sigma
區間以外的數字的概率較高。例如。 [-4*sigma -3*sigma)
中的數字應具有35%
被選中的概率,並且對於[3*sigma 4*sigma)
應該具有相同的概率。 基本上,我會多次調用這個函數,並且想知道是否有一種方法可以讓我從正態分佈的「尾部」中選擇更高比例的隨機數,而不會實際改變正態分佈的形狀。我正在努力做到這一點。Matlab:從給定概率的正態分佈中生成隨機數
function [new_E11, new_E22] = elasticmodulusrng()
new_E11 = normrnd(136e9,9.067e9,[1 1]);
new_E22 = normrnd(8.9e9,2.373e9,[1 1]);
while new_E11<=-3*9.067e9 && new_E11>=3*9.067e9
new_E11 = normrnd(136e9,9.067e9,[1 1]);
end
while new_E11<=-3*2.373e9 && new_E11>=3*2.373e9
new_E22 = normrnd(8.9e9,2.373e9,[1 1]);
end
感謝
但在那情況下,它不會是一個正常的分配了。你想如何改變它的形狀? –
我基本上想要爲'new_E11'生成正態分佈,例如,使用均值136e9和S.D. 9.067e9,然後我想從間隔[-4 * sigma -3 * sigma)和[3 * sigma 4 * sigma)中選擇一個概率爲35%的點。這可能嗎? – Jojo
這些點的概率由分佈的形狀決定,並且比這小得多。 –