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
posted @   homegis  Views(6791)  Comments(1Edit  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!
点击右上角即可分享
微信分享提示