关于 MATLAB Runtime
MATLAB® Runtime 是一套可免费获取的共享库、MATLAB 代码及其他文件的集合,您可利用它们在没有安装版 MATLAB 的计算机上执行 MATLAB 代码。MATLAB Runtime 允许您向用户分发 MATLAB 应用程序,而无需用户购买 MATLAB 许可证,从而降低了部署成本。
安装 MATLAB Runtime 后,根据您的操作系统和 shell 环境,您可能需要将其目录添加到系统库路径中。在 Linux® 上必须执行此步骤。有关详细信息,请参阅为部署设置 MATLAB Runtime 库路径。
MATLAB Runtime 与 MATLAB 之间的区别
下表对比了 MATLAB Runtime 与 MATLAB 的主要功能。
| 功能 | MATLAB Runtime | MATLAB |
|---|---|---|
| 许可 | 可免费下载 | 需要有效的许可证 |
| 文件访问 | 加密且不可篡改 | 允许完全访问并修改 MATLAB 文件 |
| 用户界面 | 无桌面图形界面 | 包含桌面图形界面 |
| 版本要求 | 版本特定;必须与编译器版本匹配 | 运行不同版本的代码 |
| 路径配置 | 无法更改的固定路径 | 允许在执行过程中修改路径 |
与 MATLAB Compiler 和 MATLAB Compiler SDK 工件的兼容性
MATLAB Runtime 会在每次 MATLAB 版本发布时进行更新。使用基于 MATLAB Compiler™ 或 MATLAB Compiler SDK™ 构建的组件的应用程序,必须安装与之版本匹配且处于相同更新级别或更高版本的 MATLAB Runtime 才能运行。要分发这些应用程序,请确保最终用户能够获取到与之匹配版本的 MATLAB Runtime。
要运行这些应用程序,您必须使用与用于创建构建成果的 MATLAB 版本的更新级别相同或更高的 MATLAB Runtime 版本。例如,如果您使用 MATLAB R2023a Update 2 创建工件,请使用与 R2023a Update 2 或更高版本对应的 MATLAB Runtime 版本。您可以使用 mcrversion 命令来获取与您执行该命令时所用 MATLAB 版本相匹配的 MATLAB Runtime 的版本号。
若要使用 compiler.package.installer 或 compiler.runtime.customInstaller 创建自定义安装程序,您必须下载与用于创建安装程序的 MATLAB 版本及更新级别相同的完整 MATLAB Runtime 安装程序。然后,在 MATLAB Compiler 下的 MATLAB 设置中指定安装程序的位置。您可以使用 compiler.runtime.download 命令获取与您的 MATLAB 安装版本及更新级别相匹配的 MATLAB Runtime 安装程序。
获取 MATLAB Runtime 的方法
您可以通过多种方式获取 MATLAB Runtime。
从网站 https://www.mathworks.com/products/compiler/matlab-runtime.html 下载最新更新级别与选定版本对应的 MATLAB Runtime 安装程序。此选项最适合希望运行已部署应用程序的用户。有关详细信息,请参阅下载并安装 MATLAB Runtime。
请使用
compiler.runtime.download下载与执行该命令所用的 MATLAB 版本及更新级别相匹配的 MATLAB Runtime 安装程序。此选项最适合想要创建包含 MATLAB Runtime 的应用程序安装程序的开发人员。使用
compiler.package.installer创建应用程序安装程序,该安装程序可选地包含 MATLAB Runtime。此选项最适合希望将应用程序与 MATLAB Runtime 一起分发的开发人员。使用
compiler.runtime.customInstaller(自 R2024b 起) 创建一个安装程序,该程序仅包含运行特定应用程序所需的 MATLAB Runtime 组件。此选项最适合需要安装占用空间尽可能小的开发人员。下载包含 MATLAB Runtime 的 Docker® 镜像。有关详细信息,请参阅 MATLAB Runtime 容器。
MATLAB Runtime 的大小和性能注意事项
MATLAB Runtime 的系统要求与 MATLAB 的安装要求相同。安装完成后,MATLAB Runtime 将完全离线运行。
由于 MATLAB Runtime 支持完整的 MATLAB 编程语言,因此运行时库体积庞大。不过,您可以缩小 MATLAB Runtime 的安装包大小。例如,您可以省略 GPU 库。有关详细信息,请参阅 减少 MATLAB Runtime 的大小。
启动一个编译好的应用程序所需的时间与启动 MATLAB 大致相同。由于对 MATLAB Runtime 的调用是串行化的,因此这些调用是线程安全的,这可能会影响性能。
另请参阅
mcrversion | compiler.runtime.download | compiler.runtime.customInstaller | compiler.runtime.createDockerImage