链接 AnyLogic 和 Matlab
Posted
技术标签:
【中文标题】链接 AnyLogic 和 Matlab【英文标题】:Link AnyLogic and Matlab 【发布时间】:2017-04-11 03:52:46 【问题描述】:我想知道是否可以将 AnyLogic 链接到 Matlab?
我需要一种将函数从 Matlab 调用到 Anylogic 的方法。
【问题讨论】:
【参考方案1】:在这个层面上,AnyLogic 应该被视为 Java 应用程序,问题应该被表述为 Link Java and Matlab。您可以搜索与 MatLab 和 Java app 建立连接的不同 Java 库,允许从 app 向 Matlab 传递命令,并获取结果。此类库的示例 — matlabcontrol。还有example model。
UPD:Matlab 提供Java API for AnyLogic,因此您可以直接在 AnyLogic 中使用它。在这种情况下,不需要第三方库。为此,您需要将engine.jar 添加到模型依赖项中,该.jar 由Matlab 提供,它位于: matlab\extern\engines\java\jar
Here is the model 使用 the respective examples 从以下位置调用 Matlab: matlab\extern\examples\engines\java
【讨论】:
【参考方案2】:我不确定你说的是哪个方向。
在 anylogic 中调用 matlab 函数:
由于 Anylogic 基于 Java,您可以使用 Java Runtime 类,并执行以下操作:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("C:\<a long path here>\matlab.exe" -nodisplay -nosplash -nodesktop -r "run('C:\<a long path here>\mfile.m');exit;"
之后,您需要从进程对象 pr
获取输出并施展您的魔法。
在matlab中调用anylogic仿真:
看看:http://help.anylogic.com/topic/com.xj.anylogic.help/html/integration/Integration.html
【讨论】:
以上是关于链接 AnyLogic 和 Matlab的主要内容,如果未能解决你的问题,请参考以下文章