我正在进行一些内燃机分析,这使我尝试通过使用EES宏(.emf文件)来生成属性,尝试将一些特定的热量从EES传递到matlab。这适用于简单的任务,其中属性只分配给宏中的变量,然后由Matlab导出和读取。
现在,我有兴趣在化学平衡计算中获得产品的属性,因此我需要在EES中求解耦合方程。这会产生一个问题,因为你不能在EES宏的右侧有未分配的东西。
通过在调节器.ees文件中求解平衡组合的方程式然后导出结果,可以快速解决上述问题。但这导致了另一个问题:
一旦我调用我的Matlab脚本,程序就会在返回特定的热量之前“挂起”。我发现手动关闭现在打开的EES窗口后脚本就完成了,但这不可行,因为我需要进行数百次导入。
使用EES宏而不是文件时不会出现问题,因为在这些中你可以直接使用Quit语句,但是如上所述,宏不是一个选项。有没有人知道你可以在EES-FILE中使用的等效声明?我还尝试在我的脚本中使用系统命令关闭EES:system('taskkill / F / IM EES.EXE');.但是这似乎无法找到EES任务,尽管它出现在任务管理器和任务栏中(该语句已经过测试,如果您手动打开EES,它仍然有效)。
非常感谢任何帮助,提前谢谢!
问候
答案 0 :(得分:1)
您可以使用宏文件解析EES文件,然后退出程序。
Example.emf
包含:
Open C:\Example.ees
Solve
Quit
然后是MATLAB系统调用
system('$EESPath\ees.exe C:\Example.emf');
将完成这项工作。
您需要利用$Export
指令将结果放入MATLAB可以导入的外部文件中。