首先推荐一个写得超级棒的教程以及它对应的源代码,这个教程写得非常仔细,特别细致没一丁点马虎,特别佩服这个作者,也向这个作者表示我深深的敬意!
跟着教程里一步步实现是没问题的,我第一次跟着实现时没成功,应该是哪个小地方我没注意,不过我又重新来了一次,更认真点照着做,就成功了。
下面总结下:
总共包括三大步骤,
第一步是在vs中建一个C#的接口类,在类里声明matlab写的那个函数,并生成得到一个dll文件。
第二大步就是在matlab里写好函数,建一个project将相关要素配置好,并用上上一步生成的dll文件,最后又生成有两个dll文件。
第三步就是在C#中使用matlab写的函数,要将前面生成的三个dll文件都拷过来用。
但是在这三步中有些比较繁琐的东西需要设置和添加,比较容易出错,具体参见上面链接中给出的教程。
我用vs2012和matlab2013a实现了的,没问题。不过后来我把生成的三个dll文件拷到另一台装了matlab2013b的电脑上,就出问题了,目前还不知道是不是由于matlab版本的问题。
查到的办法:
- 如果是采用动态链接库dll的方式,那么就不用完全装matlab,但是要装matlab运行环境,即文件MCRInstaller.exe ,存放在路径是D:\ProgramFiles\MATLAB\R2008a\toolbox\compiler\deploy\win32 里面(我的matlab安装在D盘),这个文件200多M。(试过,方法可行)