MATLAB.NET混合编程之二~~由C#调用MATLAB编译生成的dll
2016-01-26 16:56
881 查看
假设我们现在拿到一份matlab编译成的dll,该怎么在C#项目中调用呢?大致需要遵守下面几个步骤:
安装MCR
引用MWArray.dll
引用matlab编译出的dll
另一个方法是直接问dll的提供者,没有理由dll都编译出来了还不知道使用哪个版本的MCR。MCR的下载很简单,直接问度娘吧。
MWArray.dll在安装好MCR之后就可以在安装目录找到,如果安装了matlab,也可以在matlab的目录里找到,不过混合编程的部署机器基本上都不会安装matlab,这玩意太大了,一般就安装个MCR就行。
一般路径是
添加完MWArray.dll后,还需要在引用matlab.dll的文件中引入两个命名空间:
这样就可以在代码中使用MWArray了。
C#中调用 matlab dll 作曲线拟和
安装MCR
引用MWArray.dll
引用matlab编译出的dll
安装MCR
首先要找到matlab的dll兼容的MCR是什么版本,可以参考本系列上篇《MATLAB.NET混合编程之一~~由MATLAB编译dll》,里面提到matlab编译dll后会同时生成overview,里面有关于MCR版本的要求。另一个方法是直接问dll的提供者,没有理由dll都编译出来了还不知道使用哪个版本的MCR。MCR的下载很简单,直接问度娘吧。
引用MWArray.dll
MWArray.dll是我们在混合编程中必然会用到的,基本上C#代码跟matlab的函数交互就靠这个类以及它的子类比如MWCellArray、MWNumericArray等等MWArray.dll在安装好MCR之后就可以在安装目录找到,如果安装了matlab,也可以在matlab的目录里找到,不过混合编程的部署机器基本上都不会安装matlab,这玩意太大了,一般就安装个MCR就行。
一般路径是
C:\Program Files\MATLAB\MATLAB Compiler Runtime\v717\toolbox\dotnetbuilder\bin\win64\v2.0
添加完MWArray.dll后,还需要在引用matlab.dll的文件中引入两个命名空间:
[code]using MathWorks.MATLAB.NET.Array; using MathWorks.MATLAB.NET.Utillity;
这样就可以在代码中使用MWArray了。
引用matlab生成的dll
经过前面两步,已经可以在c#中使用matlab生成的dll了,在C#工程中添加对于dll的引用,然后在代码文件中引用相关的dll命名空间就可以调用dll中封装的matlab函数了。以前一篇《MATLAB.NET混合编程之一~~由MATLAB编译dll》的matlab函数为例(假设类名为DemoClass):[code]MWArray num=5; DemoClass dc=new DemoClass(); MWArray result=dc.MyTest(num); //result就是运算的结果
参考资料
Matlab混合编程之NET组件(C#篇)C#中调用 matlab dll 作曲线拟和
相关文章推荐
- MATLAB GUI常用函数使用
- MATLAB GUI常用函数使用
- MATLAB.NET混合编程之一~~由MATLAB编译dll
- matlab画图,变长坐标轴
- matlab
- matlab出现Invalid file identifier. Use fopen to generate a valid file identifier错误
- Matlab矩阵基础
- 数字信号处理之经典谱估计与现代谱估计
- Matlab lugui
- matlab中关于fix(x),floor(x),ceil(x)的区别
- 关于Matlab中括号用法的总结
- Matlab基础
- Matlab字符串处理
- Matlab运算符与运算
- MATLAB入门基础
- MATLAB快捷键大全
- matlab读三维txt数据并绘图
- matlab---数组、矩阵
- [新手学Caffe之三]如何在Caffe中加入新的layer并利用Matlab进行调试
- Matlab的数据类型