我想在netlogo中有一个if elseif else if else结构,但似乎目前它不起作用。
ifelse random 100 < 68 [ set HBB-Genes "A,A" ];;68%
[ifelse random 100 < 2 [set HBB-Genes "S,S"] ;;2%
[ifelse random 100 < 15 [set HBB-Genes "A,A"];;15%
[set HBB-Genes "A,A"] ;;15%
]]
我希望有68%的几率使用“A,A”发生HBB-Genes,下一次发生概率为2%,依此类推。如果有人有netlogo的经验,可以帮助它将非常感激。感谢。
答案 0 :(得分:5)
您只想选择一个随机数,而不是几个。您可以使用let
存储随机数,以便日后参考。所以:
let chance random 100
ifelse chance < 68
[ set HBB-Genes "A,A" ]
[ ifelse chance < 70
[ set HBB-Genes "S,S" ]
[ ifelse chance < 85
...
等等。
答案 1 :(得分:1)
可以通过if语句以下列方式完成,否则下一个if语句会有剩余的可能性发生。
if geneNumber <= 68
[
set HBB-Genes "A,A"
set color blue
]
if (geneNumber > 68) and (geneNumber <= 83)
[
set HBB-Genes "A,S"
set color green
]
if (geneNumber > 83) and geneNumber <= 98
[
set HBB-Genes "S,A"
set color green
]
if geneNumber > 98
[
set HBB-Genes "S,S"
set color red
]