一位朋友问我创建一个接受一些输入的小型Web界面,将它们发送到MATLAB进行数字运算并输出结果。我是一名Python / Django开发人员,因此我可以处理Web界面,但是当谈到MATLAB时我很无能为力。具体做法是:
ctypes
与之交互?关于如何解决此问题的任何建议,提示或技巧?
答案 0 :(得分:16)
有一个python-matlab bridge在Matlab作为服务器在后台运行的意义上是独一无二的,因此每次调用Matlab函数时都没有启动成本。
就像下载和以下代码一样简单:
from pymatbridge import Matlab
mlab = Matlab(matlab='/Applications/MATLAB_R2011a.app/bin/matlab')
mlab.start()
res = mlab.run('path/to/yourfunc.m', {'arg1': 3, 'arg2': 5})
print res['result']
你的func.m的内容是这样的:
%% MATLAB
function lol = yourfunc(args)
arg1 = args.arg1;
arg2 = args.arg2;
lol = arg1 + arg2;
end
答案 1 :(得分:13)
查看mlabwrap,它允许您通过python API调用Matlab
答案 2 :(得分:6)
作为替代方案,从Matlab R2014b开始,提供了一个Python库,使用MATLAB Engine API for Python从Python调用Matlab。
答案 3 :(得分:1)
关于操作系统兼容性,如果您使用Linux的matlab版本,则在Windows中编写的脚本应该无需任何更改即可运行。 如果可能的话,你也可以考虑用python做一切的可能性。 Matplotlib的Scipy / numpy提供了完整的Matlab替换。
答案 4 :(得分:-1)
也许你会在这里找到有用的信息