Main Content

适用于 C 和 Fortran 的 MATLAB Engine API

MATLAB® C 和 Fortran 引擎库包含的例程允许您使用 MATLAB 作为计算引擎,从您自己的程序中调用 MATLAB。使用 MATLAB 引擎需要已安装版本的 MATLAB;您无法在只有 MATLAB Runtime 的计算机上运行 MATLAB 引擎。

引擎程序为独立程序。这些程序通过 UNIX® 系统中的管道和 Microsoft® Windows® 系统中的 Microsoft 组件对象模型 (COM) 接口与单独的 MATLAB 进程通信。MATLAB 提供了函数库,允许您启动和结束 MATLAB 进程,在 MATLAB 中发送和接收数据,以及发送将在 MATLAB 中处理的命令。

您可以使用 MATLAB 引擎执行的一些操作包括:

  • 调用数学例程,例如,通过您自己的程序反转数组或计算 FFT。当采用这种方法时,MATLAB 是一个功能强大且可编程的数学子例程库。

  • 针对特定任务编译整个系统。例如,前端(用户界面)采用 C 编程,后端(分析)采用 MATLAB 编程。

MATLAB 引擎的工作方式是通过您自己的程序以单独进程的方式在后台运行。一些优势包括:

  • 在 UNIX 系统中,该引擎可以在您的计算机或您网络中的其他任何 UNIX 计算机上运行,包括不同架构的计算机。利用此配置,您可以在工作站上实现用户界面,并在位于网络内任何其他位置的速度更快的计算机上执行计算。有关详细信息,请参阅 engOpen 参考页。

  • 该引擎不要求您的程序链接到完整的 MATLAB 程序(大量的代码),而是链接到一个较小的引擎库。

MATLAB 引擎无法读取采用基于 HDF5 的格式的 MAT 文件。这类 MAT 文件使用 save 函数的 -v7.3 选项保存数据,或使用 C 或 Fortran matOpen 函数的 w7.3 模式参量打开。

注意

要在 UNIX 平台上运行 MATLAB 引擎,您必须在 /bin/csh 安装 C shell csh

MATLAB 软件通信

在 UNIX 系统中,引擎库使用管道与引擎通信,并在需要时使用 rsh 来远程执行。在 Microsoft Windows 系统中,引擎库使用组件对象模型 (COM) 接口与引擎通信。

相关主题