NetLogo:如何对同一计算公式使用随机伽马和除法而不产生任何错误?
我使用随机伽马与NetLogo。当我将除法添加到random gamma的语法中时,NetLogo会得到一个错误。以下是使用随机gamma的计算语法示例。(此外,这些变量“number dead,S,T”记录在全局变量中。)在我的模拟中,有必要在随机伽马计算结果之后添加除法。我该怎么办?请给我一些建议。我们感谢您的合作NetLogo:如何对同一计算公式使用随机伽马和除法而不产生任何错误?,netlogo,division,gamma,Netlogo,Division,Gamma,我使用随机伽马与NetLogo。当我将除法添加到random gamma的语法中时,NetLogo会得到一个错误。以下是使用随机gamma的计算语法示例。(此外,这些变量“number dead,S,T”记录在全局变量中。)在我的模拟中,有必要在随机伽马计算结果之后添加除法。我该怎么办?请给我一些建议。我们感谢您的合作 set sim precision((number-dead * random-gamma(1 / (S * S))(1 / (T * (S * S)))) / number-d
set sim precision((number-dead * random-gamma(1 / (S * S))(1 / (T * (S * S)))) / number-dead)3
以下是发生错误时的弹出消息
它被0除。
观察程序运行时出错/
由过程GOPARALLEL调用
通过按钮“goparallel”调用
我认为问题与随机伽马
无关。S
、T
或number dead
可能为0
如果S
为0,则(1/(S*S))
和(1/(T*(S*S))
都将导致除以0
如果T
为0,则(1/(T*(S*S))
将导致除以0
如果number dead
为0,则(number dead*随机伽马(1/(S*S))(1/(T*(S*S)))/number dead)
将导致除以0
另外,我认为代码是错误的。它基本上在做:
let rand random-gamma (1 / (S * S)) (1 / (T * (S * S)))
let raw-num number-dead * rand / number-dead
set sim precision raw-num 3
也就是说,您将
随机伽马
的结果乘以数字死亡
,然后立即将该结果除以数字死亡
,这只剩下随机伽马
的结果。因此,我认为您可能放错了一些括号或其他东西。我认为问题与随机伽马
无关。S
、T
或number dead
可能为0
如果S
为0,则(1/(S*S))
和(1/(T*(S*S))
都将导致除以0
如果T
为0,则(1/(T*(S*S))
将导致除以0
如果number dead
为0,则(number dead*随机伽马(1/(S*S))(1/(T*(S*S)))/number dead)
将导致除以0
另外,我认为代码是错误的。它基本上在做:
let rand random-gamma (1 / (S * S)) (1 / (T * (S * S)))
let raw-num number-dead * rand / number-dead
set sim precision raw-num 3
也就是说,您将
随机伽马
的结果乘以数字死亡
,然后立即将该结果除以数字死亡
,这只剩下随机伽马
的结果。因此,我认为您可能放错了一些括号或其他东西。谢谢您的快速建议。稍后我将用代码测试它。也许没关系。如果我不明白,我可能会再问你一次。非常感谢。您好,我用推荐的代码对其进行了测试,但出现了相同的错误。“它被0除。”。我会再考虑一下。我没有推荐任何代码。。。我在展示你写的代码可能是错的。谢谢你的指点。此后,我仍在接受审查。我将结合其他问题提出一个新问题。谢谢你的快速建议。稍后我将用代码测试它。也许没关系。如果我不明白,我可能会再问你一次。非常感谢。您好,我用推荐的代码对其进行了测试,但出现了相同的错误。“它被0除。”。我会再考虑一下。我没有推荐任何代码。。。我在展示你写的代码可能是错的。谢谢你的指点。此后,我仍在接受审查。我将结合其他问题提出一个新问题。