使用C#,Matlab(2015a)混合编程

我所使用的Matlab版本为2015a,2014和2013应该也可以这么做。
vs版本为2015,这个没什么影响
2015a编译出的dll要求.net版本至少为4.
一、查看Matlab是否配置完全
在Command Window窗口中输入mbuild –setup查看编译器,如果没有,将编辑器设置为vs
二、安装MCRinstaller.exe
位置在安装目录下的toolbox\compiler\deploy\win64文件夹中。
三、注册dll
对mwcomutil.dll进行注册。这个dll文件位于安装目录下的\bin\win64文件夹中(右键点击开始,命令提示符(管理员),cd+’空格’+路径,regsvr32 mwcomutil.dll)
四、生成.m文件
这是我所使用的函数,名称为add

function [c]=add(a,b)
c=a+b;
end

五、生成dll文件
在在Command Window窗口中输入deploytool,并选择Library Complier,按照下图进行配置,其中Class name 为在c#中所调用的类的名字。(看不清可以按住Ctrl+鼠标滚轮放大网页查看)
使用C#,Matlab(2015a)混合编程_第1张图片
然后生成,那个add.dll就是c#将要调用的dll文件
使用C#,Matlab(2015a)混合编程_第2张图片
六、开始写c#
先添加之前生成的那个dll文件。
然后添加MWArray.dll(再安装目录的toolbox\dotnetbuilder\bin\win64\v2.0文件夹中)

 class Program { static void Main(string[] args) { Class1 a = new Class1(); MWArray b = 3, c = 6; MWArray result = a.add(b, c); Console.WriteLine(result.ToString()); } }

最后就可以运行查看结果了

你可能感兴趣的:(.net,matlab)