C# Matlab 混合编程实验
工程中有些测试需要对数据进行处理,并输出图表计算。而Matlab在数据处理和图形输出上有优势,相比而言C#等编程实现图表较困难。
Matlab中已经提供封装成库供其它语言调用的功能。由于Matlab内变量定义类型与其它语言不一致,Matlab提供了相关参数的转换类和函数。供C#转换的基类的MWArray,继承的有MWNumericArray、MWCellArray等,包含在MWArray.dll中。
实现过程
1.Matlab中创建供C#调用的类,添加函数,并生成dll;
2.创建使用的C#工程;
3.复制需要使用的Matlab库和生成的库至C#工程执行目录,并引用Matlab新生成的Dll;
4.C#工程中调用Matlab的Dll。
具体实现举例
本示例实现C#调用Matlab中的库,实现弹出提示信息。
Matlab版本:R2012a 64位
VS版本:2010
1.Matlab中创建供C#调用的类,添加函数,并生成dll
如下图,打开Matlab,File–New–Deployment Project…。
弹出创建工程窗体,本例定义工程名称为“MCTForNet.prj”,Type选择“.Net Assembly”,如下图: