随机数生成兰迪和百分比

14日视图(30天)
Takim Mustakim
Takim Mustakim 2022年11月7日
回答: 詹姆斯Tursa 2022年11月7日
如何生成随机数的百分比:
值= 0 - 14 86%
值= 15 - 28为14%
与1000年数组
1评论
Torsten
Torsten 2022年11月7日
86%和14%也是一个概率(即随机数字0到14之间生成的概率0.86和15到28岁之间的随机数生成的概率为0.14)或一个固定的百分比?

登录置评。

答案(3)

图像分析
图像分析 2022年11月7日
如果没有家庭作业,你可以试试这个:
x =[28] 0, 14日;
.86 y = [0, 1.0);
情节(x, y,“b -”markerSize = 30,线宽= 2)
网格;
标题(“累积分布函数”)
%一百万的随机数
n = 500000
n = 500000
r = GetRandom (n);
%计数少于14 #。应该是86%的。
pct14 = (r < 14) / n
pct14 = 0.8596
% #超过14计数。应该是14%的。
pct14 = (r > 14) / n
pct14 = 0.1404
%功能给86%的数字0 - 14和14%的范围
% 14-28数字范围。
函数r = GetRandom (n)
r =兰德(1,n);
如果r < 0.86
r = r / 0.86;
其他的
斜率= .14点/ 14;
% y - y0 =坡* (x - x0)
%找到x
% x = (y - y0) /坡+ x0
% y0 = 0.86。x0 = 14。
r = (r - 0.86) /坡+ 14;
结束
结束
利用逆变换抽样的概念。
如果轮到你的作业你不能在我的代码。
3评论
Torsten
Torsten 2022年11月7日
我认为你忽视了“兰迪”称号。

登录置评。


沃尔特·罗伯森
沃尔特·罗伯森 2022年11月7日
如果你有统计工具箱,使用randsample ()
如果不是:
找到一个数字,这样年代* p是一个整数向量中的每一个概率p。如果你有概率sqrt(2) / 2等数学非理性然后你需要找到一个好的近似整数而不是准确的。
一旦你年代,每个元素的值(K)和重复一遍(S * p (K)),并收集在一个向量的重复值。例如.86 .14点可以使用S = 50,重复第一个值43次,第二个值7次。
现在画与权重,使用兰迪()向量的长度与重复,挑出元素的向量。(重复)任何一个元素的概率将会成正比的重复数除以总长度的向量。例如,43份0 50元素给出了43/50 = 0.86 0的可能性。

詹姆斯Tursa
詹姆斯Tursa 2022年11月7日
一个方法:
n = 1000;
p = 0.86;
r =兰德(n, 1);
x = r < p;
m = (x)总和;
r (x) =兰迪([0,14],m, 1);
r (- x) =兰迪(n - m (15, 28), 1);
或者一个可以重用的随机数已经在r,但这似乎有点复杂:
n = 1000;
p = 0.86;
r =兰德(n, 1);
x = r < p;
r (x) =地板(15 * r (x));
r (- x) =地板(14 * (r (- x) - p) / (1 - p)) + 15;

下载188bet金宝搏


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的