我试图在Netlogo中执行Matlab函数形式,并检索该函数的输出以在Netlogo模型中使用它。
我了解到可以通过Netlogo的Matlab扩展来完成。 我下载了扩展名的zip文件,然后将MatlabServer v1.0文件复制到了我要使用的matlab函数保存所在的文件夹中。
我继续使用Netlogo编写代码,如下所示:
extensions[matlab]
globals[result]
to setup
matlab:send-double "b" 1
matlab:send-double "c" 2
matlab:send-double "d" 3
matlab:eval "experiment(b,c,d)"
set result matlab:get-double "output"
show result
end
Experiment.m是我正在尝试使用的函数,它需要三双输入。 我的问题是,每当我打开Netlogo脚本时,也会同时打开一个Matlab窗口。在此命令窗口中将其写为: 运行MatlabServer v1.0 检测到Matlab v6.x
无论如何,Matlab都会不断初始化,而不会让我做什么。这个初始化过程持续了几个小时,直到我强行关闭Matlab。
我不知道这是否有帮助,但是每当Matlab窗口打开所选路径时,就是带有所有安装文件的Netlogo文件夹,而不是我设置的真实Matlab路径。
在扩展程序的安装阶段我做错了吗? 我的Netlogo代码有误吗? 除了github以外,是否还有逐步指南或教程来设置Netlogo的Matlab扩展? 谁能建议我尝试实现的正确方法(从Netlogo执行Matlab函数并检索其输出以用于Netlogo本身)?