Netlogo程序-返回函数

Netlogo程序-返回函数,netlogo,Netlogo,错误是 已经有一个程序叫做觅食努力 Netlogo或任何其他解决方案中是否有其他返回功能 to-report fp [foraging_effort] report (5 / (1 + exp (2 - foraging_effort * 2))) end to-report foraging_effort [forage_min forage_rate energy_level] ifelse energy_level <= forage_min [

错误是

已经有一个程序叫做觅食努力

Netlogo或任何其他解决方案中是否有其他返回功能

 to-report fp [foraging_effort]
      report (5 / (1 + exp (2 - foraging_effort * 2)))
    end

to-report foraging_effort [forage_min forage_rate energy_level]
  ifelse energy_level <= forage_min
    [ report 0 ]
    [ report (forage_rate * (energy_level - forage_min)) ]
end
报告fp[觅食努力]
报告(5/(1+exp(2-觅食努力*2)))
结束
报告采食努力[采食率、最低采食率、能量水平]

ifelse energy_levelNetLogo中的所有内容都共享一个名称空间。这意味着变量不能与过程同名,反之亦然

在您的例子中,
fp
报告程序有一个名为
觅食努力
的参数,但您也有一个名为
觅食努力
的报告程序。这就是NetLogo所抱怨的

正常情况下,我会说:“只需重命名其中一个,你就可以开始了。”但你的提问方式让我怀疑可能还有其他原因。您是否可能想从您的
fp
报告程序中调用
觅食努力
报告程序?在这种情况下,您可能不需要向报告者提供参数,您应该删除
之后的
[觅食努力]
部分以报告fp