C#调用matlab

Matlab7.5之后,支持生成.NET类型的组件,供C#等语言调用。
同时仍然支持COM类型的组件,供VB、Dephi、PB等语言调用。

一、准备工作
安装Matlab;
安装Visual Studio 2005或者更高版本;
安装MCRInstall.exe,我安装完Matlab之后在这里找得的:C:"Program Files"MATLAB"R2008b"toolbox"compiler"deploy"win32
点 击:我的电脑-属性-高级-环境变量-系统变量-PATH-编辑,在变量值输入框中,不要删除以前的字符串,在最前面加入MCR的安装路径, 如:C:"Program Files"MATLAB"MATLAB Compiler Runtime"v79"bin"win32;
然后确定、保存、重启电脑。
(我就是不知道需要这两步,老是在C#创建Matlab的访问对象时,出现:“xxx的类型初始值设定项引发异常。”,完全不理解是什么原因,被耽搁了大量时间,直到安装了Matlab 2008b,仔细阅读它生成的readme.txt才知道)

二、写个用于测试的m文件
如mymagic.m(存放文件夹和以后要建的项目文件夹无关)
function y=mymagic(x)
  y=magic(x);

三、启动Matlab,新建Deployment项目
自己选择项目保存目录和项目名,如D:"和MatMagic.prj
类 型选择.NET Component,如果你要生成更通用的COM组件,选择Generic COM Component。添加刚才的m文件到这个新建的项目中去。点击Build the project按钮(这个按钮的图标和微软开发工具的Build图标一样),等大约1分钟,才能Build完成。

四、使用C#调用
新建C#控制台项目或者窗体应用程序。
添加引用:选择.NET,选择MathWorks,.NET MWArrays API字样的一个组件
添加引用:选择浏览,选择刚才用Deployment新建的项目的D:"MatMagic"distrib目录的MatMagic.dll文件

调用代码示例:
Code
原文地址:https://www.cnblogs.com/HomeGIS/p/1505237.html