Matlab:以给定的概率从正态分布生成随机数

乔乔

如下面的代码所示,我目前正在random从中生成数字,Normal Distribution并在-3*sigma3*sigma间隔内选择数字但是,我现在想生成数字,这样我更有可能从-3*sigmaand3*sigma间隔之外选择数字例如。来自的数字[-4*sigma -3*sigma)应有35%被选择的概率,且与相同[3*sigma 4*sigma)基本上,我将多次调用此函数,并且想知道是否有一种方法可以让我从正态分布的“尾巴”中选择更高比例的随机数,而实际上不改变正态分布的形状。我正在努力做到这一点。

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

谢谢

雨格斯·丰特内尔

正如Jojo所指出的,这个问题没有多大意义:这不再是正态分布。

您可以做的是创建自己的概率密度函数pdf并从中提取。

例如,

N = pdf('Normal',-5:0.2:5,0,1);

为您提供具有良好分辨率的普通PDF。你可以改变它,说

Z = N;
Z(5:15)=3*Z(5:15);
Z(35:45)=3*Z(35:45);

并使用直接法,反演方法,或接受-拒绝方法的解释这里

FileExchange中有一个实现:http : //www.mathworks.com/matlabcentral/fileexchange/27590-simple-rejection-sampling

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Matlab中生成多元正态分布的随机数

来自分类Dev

在Matlab中生成多元正态分布的随机数

来自分类Dev

生成给定分布的随机数

来自分类Dev

如何使用AMPL中的正态分布生成随机数矩阵?

来自分类Dev

C ++-根据范围内的正态分布生成随机数

来自分类Dev

使用numpy从偏态正态分布生成N个随机数

来自分类Dev

Matlab如何生成高斯分布随机数?

来自分类Dev

VB.NET中的正态分布随机数

来自分类Dev

来自C ++中正态分布的随机数

来自分类Dev

如何在给定标准偏差(sigma)的情况下在PHP中创建正态分布的随机数?

来自分类Dev

如何在给定间隔中以相等的概率生成随机数

来自分类Dev

给定R中的特定概率值,生成随机数(0和1)

来自分类Dev

给定概率密度函数的值时,如何生成随机数?

来自分类Dev

正态分布内具有最小值和最大值的Python随机数生成器

来自分类Dev

创建具有左偏概率分布的随机数

来自分类Dev

生成遵循分布的平滑随机数

来自分类Dev

生成复制任意分布的随机数

来自分类Dev

根据分布函数生成随机数

来自分类Dev

多元正态分布Matlab,概率区域

来自分类Dev

在给定间隔内生成具有数字分布的随机数

来自分类Dev

C#如何生成随机数取决于概率

来自分类Dev

生成具有固定概率的随机数

来自分类Dev

生成带有加权概率的随机数

来自分类Dev

Matlab:如何生成伪随机数

来自分类Dev

在MATLAB中生成随机数

来自分类Dev

加快MATLAB中随机数的生成

来自分类Dev

在MATLAB中生成随机数

来自分类Dev

Matlab:如何生成伪随机数

来自分类Dev

如何在Excel中以对数正态分布创建随机数?

Related 相关文章

热门标签

归档