哪些编程语言可以通过matlab调用?

时间:2014-03-30 14:18:51

标签: matlab function

我想知道matlab可以调用哪些编程语言。

例如我很安静,确保matlab可以使用C函数,也许可以使用java。

我需要这个东西用于工业项目,所以我需要一些运作良好的东西。 例如,我已经找到了一些在matlab中调用python函数的教程,但他们看起来并不是很好且稳定的解决方案。

我不是该领域的专家,我对matlab的了解非常有限。所以请耐心等待答案。

该项目与机器学习有关,软件可能在集群上运行。

编辑根据这篇文章Embedding Python in MATLAB似乎在使用python导入numpy时出现问题。 在这种环境中使用python的唯一原因是numpy库。 没有它,对我来说几乎没用。

你认为我会在使用java或c调用某些数学库时会遇到类似的问题吗?

3 个答案:

答案 0 :(得分:2)

此处列出了大多数接口:

http://www.mathworks.de/de/help/matlab/external-interfaces.html

对于Python,我看到了不同的解决方案:

  • Windows平台上的COM。这需要注册一个应用程序,检查是否可以在群集上使用它。
  • XMLRPC或SOAP。您可能需要在Matlab中使用Java-Classes,但正如您已经意识到的那样,这非常简单。验证集群是否有可用的Java VM,许多运行没有java的matlab。
  • 你可以将python代码嵌入到c中,它允许你编写运行c代码的mex函数:http://docs.python.org/2/extending/embedding.html
  • 使用python的命令行界面。

除了记录的限制外,我认为这些解决方案没有任何问题。如果您熟悉C或Matlab,我会选择第二个或第三个选项。这允许您编写一个包装器来访问具有matlab基础知识的python。

答案 1 :(得分:1)

实现这一目标主要有两种方法:

  1. 编写MEX函数,它基本上是C / C ++或Fortran方法,它们使用特定于Matlab的API。然后,您可以像使用M语言文件中编写的任何函数一样调用这些方法。这被描述为here
  2. 调用用Java,.Net,C / C ++和COM服务器编写的外部库。这被描述为here
  3. 这两种方法都需要很好地理解你在做什么,尽管我认为编写MEX函数比引用现有的库要困难得多。

答案 2 :(得分:0)

我不确定编程语言但你可以通过运行run('C:\ someCompiledProgram.exe')来通过EXE文件来实现 如果您需要结果,您可以使用: [status,result] = system('command')

你可以在这里阅读: http://nf.nci.org.au/facilities/software/Matlab/techdoc/ref/system.html