gpt4 book ai didi

netlogo - 概率和百分比的解释

转载 作者:行者123 更新时间:2023-12-01 23:54:22 24 4
gpt4 key购买 nike

非常感谢您帮助编写我的模型,

如果你不介意的话,我想问你一些关于编码的解释对不起,我不是数学专家

to move
ask turtles with [gender = "male" ]
[ if ( random-float 1) <= 0.025]

为什么是<=,这段代码的解释是什么,

和百分比

 ask turtles

[ if random 100 <= 50
[become-fat]]

同样的问题 为什么 <= 如果我们总是说 50% 的人会胖 为什么我们放这个标志???

random和random float有什么区别

不好意思打扰

最佳答案

这两个原语的区别在于:

两者都可用于在 NetLogo 中使事情发生概率。我将从使用 random 开始, 这稍微容易理解。

使用random

the documentation 中所述,如果您将正数传递给 random , 它会给你一个大于或等于 0 的数字,但严格小于该数字。

例如,random 2总是会给你 0 或 1。你可以用它来模拟抛硬币:

ifelse random 2 = 0 [ print "heads" ] [ print "tail" ].

这将打印 "heads" 50% 的时间(当 random 2 给你 0 时),和 "tail" 50% 的时间(当 random 2 给你 1 时)。

现在使用 random 100 很容易将其概括为以百分比表示的概率而不是 random 2 .我将使用 50% 的示例,但它很可能是 25%、80% 甚至 1% 或 100%。

现在自 random 100给你一个介于 0 和 99 之间的数字,这意味着它可以给你的前 50 个数字是:0、1、2、3 ...一直到 49。接下来的 50 个是:50、51、52 , 53...一直到 99。如果您愿意,您可以想象一个标记为 0 到 99 的 100 面骰子。

如果你想让你的乌龟在 50% 的时间内“变胖”,你可以这样做:

ask turtles [ if random 100 < 50 [become-fat] ]

请注意,我使用了 < (严格减少)符号而不是 <= (小于或等于)符号。这是因为我只希望“骰子”落在前 50 张脸中的一张(从 0 到 49)上时乌龟变胖。

(如果您使用 random 100 <= 50 ,就像您在上面发布的代码中一样,他们实际上有 51% 的概率变胖,有 49% 的概率变胖。你现在应该也能够弄清楚为什么像 if random 100 = 50 这样的东西没有意义:只有当“骰子”恰好落在 50 上时它才是正确的,而这种情况只有 1% 的概率。)

如果你想让你的海龟只有 20% 的时间变胖,你会想要使用骰子的前 20 个面,从 0 到 19:

ask turtles [ if random 100 < 20 [become-fat] ]

通常使用 random 100 就足够了在 NetLogo 中处理概率时。

使用random-float

但是,有时您需要更精确一些。面向数学的工作通常将概率表示为 0.0(表示 0%)和 1.0(表示 100%)之间的数字。在这些情况下,random-float 1派上用场。同样,如前所述in the documentation , random-float会给你一个介于 0 (含)和你传递给它的数字(不含)之间的数字。因此,random-float 1给你一个介于 0.0 和 1.0 之间的数字(但永远不会正好是 1.0)。

这个表达式:

random-float 1 < 0.025

将有 2.5% 的时间为真。

骰子比喻不适用于 random-float , 但你可以想象一个 roulette wheel (或 wheel of fortune )。询问是否 random-float 1 < 0.025就像画一个占轮子周长 2.5% 的“饼图切片”,旋转轮子,然后检查球(或箭头,或其他任何东西)是否落在该切片中。

现在使用 <= 是否重要?而不是 <random-float ?不是很多。只有当轮子恰好落在将您的饼图部分与轮子的其余部分分开的线上时才会有所不同,并且发生这种情况的可能性非常非常小。

关于netlogo - 概率和百分比的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24898582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com