将 MATLAB 与外部编程语言和系统集成

您所在的位置:网站首页 机场付费托运行李流程图解 将 MATLAB 与外部编程语言和系统集成

将 MATLAB 与外部编程语言和系统集成

2024-04-25 22:10| 来源: 网络整理| 查看: 265

将 MATLAB 与外部编程语言和系统集成

MATLAB® 可与其他编程语言进行灵活的双向集成,从而使您能够重用原有代码。有关编程语言和支持版本的列表,请参阅 MATLAB 支持的与其他语言的接口。

从 MATLAB 中调用 C/C++ 代码

MATLAB 提供了以下功能,可帮助您将 C/C++ 算法集成到 MATLAB 应用程序中。

C/C++ 共享库接口是应用程序在运行时动态加载的函数集合。使用共享库的优点是可以将多个库函数打包到一个接口中。此外,MATLAB 还可以管理数据类型转换。

调用 C++ 库函数 - 要调用 C++ 共享库中的函数,请使用 从 MATLAB 中调用 C++中所述的 clib 命名空间。

尽可能选择 C++ 接口而不是纯 C 接口。有关 C++ 支持的信息,请参阅这些限制。

要调用 C 共享库中的函数,请使用 calllib 函数。有关信息,请参阅 从 MATLAB 中调用 C。此功能最适合只包含 C 代码的库,但存在限制。

如果要更好地控制数据转换和内存管理,可以考虑编写一个 MEX 文件。

MEX 文件是 C/C++ 算法的包装程序代码,可处理从 MATLAB 数据类型到 C 类型的转换。相对于通过 MATLAB 共享库接口来调用函数,MEX 文件性能更优。此外,MEX 文件还能让您对数据转换和内存管理实现更多的编程控制。

编写可从 MATLAB(MEX 文件)调用的 C++ 函数 使用现代 C++ 编程功能,并尽可能共享数据副本。

编写可从 MATLAB(MEX 文件)调用的 C 函数 使用 C Matrix API 并支持现有 MEX 函数。MathWorks® 建议尽可能选择 C++ MEX 文件应用程序,而不是 C MEX。但是,如果您的 MEX 函数必须在 MATLAB R2017b 或更早版本中运行,则使用 C 矩阵库编写 MEX 函数。

如果一个库中有多个函数或者没有性能问题,可以考虑编写 C++ 库接口。

这些功能要求您具备一定的 C/C++ 编程技能,以创建库接口或编写 MEX 函数。但是,您可以将生成的库或 MEX 函数提供给任何 MATLAB 用户。最终用户可以像调用任何 MATLAB 函数一样调用这些功能,而无需了解 C/C++ 语言实现的基础背景知识。

要从 C/C++ 语言程序调用 MATLAB,请参阅从 C++ 调用 MATLAB 或从 C 调用 MATLAB。

在 MATLAB 中使用来自其他编程语言的对象

如果您有其他编程语言的函数和对象,可以从 MATLAB 中调用它们。要将这些对象集成到 MATLAB 应用程序中,您并不一定要具备软件开发技能。但是,您需要具有第三方库文档的访问权限。

MATLAB 支持调用以下语言的函数,也支持使用以下语言的对象。

从 MATLAB 中调用 C++

从 MATLAB 中调用 C

适用于 C/C++ 和 Fortran 的 MEX 文件函数

从 MATLAB 中调用 Java

从 MATLAB 中调用 Python

从 MATLAB 调用 .NET

在 MATLAB 中使用 COM 对象

从另一种编程语言中调用 MATLAB

您可以使用引擎应用程序从另一种语言中调用 MATLAB。使用 MATLAB Engine API,您可从自己的应用程序中调用 MATLAB 函数。MATLAB 具有适用于以下语言的 API。

Engine API for C++

Engine API for Java

Engine API for Python

Engine API for C

Engine API for Fortran

要创建引擎应用程序,请安装 MATLAB 支持的编译器,并使用 mex 命令编译应用程序。

将您的函数作为 MATLAB 函数来调用

您可以编写自己的函数,并使用 MEX API 将它们作为 MATLAB 函数进行调用。有关详细信息,请参阅选择 MEX 应用程序。您可以编写以下语言的 MEX 函数。

C++ MEX API

C MEX API

Fortran MEX API

要创建 MEX 文件,请安装 MATLAB 支持的编译器,并使用 mex 命令编译函数。

与 Web 服务通信

您可以从 MATLAB 中与 Web 服务进行通信。

MATLAB RESTful Web 服务函数允许非编程人员使用 HTTP GET 和 POST 方法访问许多 Web 服务。

对于 RESTful Web 服务函数不支持的功能,可以使用 HTTP 接口类来编写自定义的 Web 访问应用程序。

如果您的 Web 服务基于 Web 服务描述语言 (WSDL) 文档技术,则可以使用 MATLAB WSDL 函数。

相关主题MATLAB 支持的与其他语言的接口支持和兼容的编译器


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3