makedist离散均匀分布
6视图(30天)
显示旧的评论
接受的答案
更多的答案(2)
图像分析
2018年11月30日
这可能不是你想要的,但是下面的代码会给你这5个数字,数组中随机发生的位置。和概率肯定会完全在每一本20%。
完全
20%,
没有变化
在计数,因为我们不使用兰迪()。然而不是随机的值——他们正是你说——你不会得到的数是832 25,803 30,799年35岁,等。你会得到相同的计数。您可以指定
约
在每一本20%(这可能是你想要的,在这种情况下,你用兰迪像杰夫一样)
或
你可以指定你想要的
完全
20%是每个数字(我所做的)。
%定义的值。
specifiedValues = [40] 20、25、30、35
%复印
numCopies = 300;%多少你想生成值。
distributionValues = repmat (specifiedValues [1, numCopies]);
%可选:争夺(随机)订单。
sortingOrder = randperm(长度(distributionValues));
distributionValues = distributionValues (sortingOrder);
%证明正是100%分布均匀(相同的计算在每一本)。
直方图(distributionValues);
网格在;
xticks (specifiedValues);
包含(“价值”);
ylabel (“数”);
0评论
乔纳森·休厄尔
2019年11月25日
编辑:乔纳森·休厄尔
2019年11月25日
一个函数,达到你想要的随机抽样效应是randsample ()。
从指定的人口获得一个随机样本,用这个。
randsample ([20 25 30 35 40], 1)
10个随机抽样,用这个。
randsample ([20 25 30 35 40] 10 1)
我不知道如何得到这种效果的调用makedist ()。但是,您可以创建自己的像对象分布对象返回的makedist ()。这将创建一个类。它需要ProbabilityDistribution的子类,并且可能UnivariateDistribution或TruncatableDistribution的一个子类。这些类是makedist使用共享数据库的一部分。