Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random 任何逻辑如何从具有一定概率的总体中选择代理?_Random_Anylogic - Fatal编程技术网

Random 任何逻辑如何从具有一定概率的总体中选择代理?

Random 任何逻辑如何从具有一定概率的总体中选择代理?,random,anylogic,Random,Anylogic,我有一个叫做“目的地”的代理群体,由14个目的地组成,每个目的地都有被选择的概率。 目前,我正在通过申请随机选择目的地: Destination destination = randomFrom (destinations); 我如何考虑概率而不是随机地进行?< /P> < P>一种方式:创建一个表函数,其累积概率如下(假设5个目的地为0,4,而不是14): 然后,destinations.get(tableFunction.get(uniform(0,1)))将以正确的概率从总体返回第i个

我有一个叫做“目的地”的代理群体,由14个目的地组成,每个目的地都有被选择的概率。 目前,我正在通过申请随机选择目的地:

Destination destination = randomFrom (destinations);

我如何考虑概率而不是随机地进行?< /P> < P>一种方式:创建一个表函数,其累积概率如下(假设5个目的地为0,4,而不是14):


然后,
destinations.get(tableFunction.get(uniform(0,1)))
将以正确的概率从总体返回第i个代理。因此,在我的示例中,有20%的几率获得索引为0的目的地,但有40%的几率获得索引为2的目的地…

单向:创建一个累积概率如下的表函数(假设5个目的地为0-4,而不是14):


然后,
destinations.get(tableFunction.get(uniform(0,1)))
将以正确的概率从总体返回第i个代理。因此,在我的示例中,有20%的几率获得索引为0的目的地,但有40%的几率获得索引为2的目的地…

将双精度转换为int:“destinations.get((int)tableFunction.get(uniform(0,1))”好吧,测试它并使用它,直到有意义为止。此外,AnyLogic帮助还告诉您有关表函数及其功能的信息。均匀(0,1)提供了一个完全随机的值。作为参数输入到表函数中。假设你像我一样用累积概率来设置它,你会在给定的概率下得到一个整数值。你可以通过索引获取你的目的地。。。使用table函数并以不同的方式进行设置以查看效果。例如,只有2个值0和1,并将参数设置为0和0.99,然后查看其作用。你能做到;-)最好在这里做一步插值,以使表格函数在输出和概念累积概率方面更直观……没有做到这一点,非常正确。Thx FelipeConvert将double转换为int:“destinations.get((int)tableFunction.get(uniform(0,1)))”好吧,测试它并使用它,直到它有意义为止。此外,AnyLogic帮助还告诉您有关表函数及其功能的信息。均匀(0,1)提供了一个完全随机的值。作为参数输入到表函数中。假设你像我一样用累积概率来设置它,你会在给定的概率下得到一个整数值。你可以通过索引获取你的目的地。。。使用table函数并以不同的方式进行设置以查看效果。例如,只有2个值0和1,并将参数设置为0和0.99,然后查看其作用。你能做到;-)最好在这里做一步插值,以使表格函数在输出和概念累积概率方面更直观……没有做到这一点,非常正确。Thx菲利佩