工具:
1. 编写并测试所需打包的Matlab函数
检查并测试你的Matlab程序可运行。

2. 使用Matlab Compiler SDK打包
2.1 打开Matlab Compiler SDK
常用有两种方法:
方法一
点击 APP > Library Compiler
Matlab Apps
方法二
在命令行输入deploytool,选择Library Compiler

2.2 Compiler Project输出设置
Compiler project

3. 在C#程序中测试打包的函数
3.1 新建C# 控制台应用程序
本文的测试在Visual Studio 2019 C# 控制台应用程序中进行。目标框架为 .Net Framework 4.7.2。
C# Project
3.2 添加引用
想要调用打包好了的Matlab函数,需要向C#项目中添加所需的两个DLL:
右击解决方案资源管理器中的 引用 > 添加引用 > 浏览,添加上述两个DLL。
Add DLL
3.3 编写C#代码
using <你打包时设置的Namespace>;
然后就可以通过调用类方法来使用Matlab中的函数。
Code
3.4 设置目标平台为64位
如果直接编译运行上边的代码,程序会抛出异常: "MATLAB_DLL.MatlabAlg”的类型初始值设定项引发异常
由于我们使用的Matlab R2019b是64位的,所以我们需要将C#工程的目标平台设置为x64,方法为右击解决方案管理器中的项目名称(本文中为ConsoleApp)> 属性 > 生成 > 目标平台 > x64。
然后再次编译即可运行啦!
result
4 注意
在其他电脑上运行时,若电脑上没有安装对应的Matlab(本文中为R2019b),则需要安装对应版本(R2019b)的Matlab Compiler Runtime,可以在MathWork官网上找到且免费。
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...