c#和MATLAB混合编程

本文介绍了如何使用C#和MATLAB进行混合编程,主要聚焦于基于.NET程序集的方法。首先,搭建开发环境,包括Visual Studio 2010和MATLAB R2010a等。接着,详细阐述了设置MATLAB编译环境、创建.M文件、生成.NET程序集以及在C# Windows窗体应用程序中应用MATLAB编译的DLL的步骤。最后,通过示例展示了在C#中调用MATLAB编译的函数并展示结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#和MATLABH混合编程详解----基于.Net程序集

                                                                                                                                                                                                        Jacklin   2014-8-5  2965417944@qq.com

一、引言

最近由于完成导师的项目需要,做一款工具软件,界面准备用C#来写,但是数据处理

部分如果用C#来完成的话工作量必然很大,而MATLAB在这方面显示是十分擅长的,因此最终确定方案是C#和MATLAB混合编程来完成。(注:C#和MATLAB进行混合编程有多种实现方式,这里主要讲基于.net程序集的方式。)

二、必备软件

在进行C#和MATLAB混合编程之前,我们必须搭建相应的开发环境:

Microsoft  visual studio 2010;

MATLAB R2010a;

MCRInstaller.exe;

注:①上面的是我机器上安装的软件版本,当然你也可以使用其它的版本;

② MCRInstaller.exe软件在你的MATLAB安装目录下,我的在:

(E:\Program Files\MATLAB\R2010a\toolbox\compiler\deploy\win32)

三、几个概念

⑴MCR(MATLAB Compiler Runtime)

MATLAB Compiler Runtime (MCR) 是一组独立的共享库,可用于在未安装 MATLAB 的计

算机上执行编译后的 MATLAB 应用程序或组件

         ⑵MC(MATLAB Compiler)

MATLAB 编译器能够将您的 MATLAB® 程序编译为独立的应用程序,或可与其它通

用编程语言集成的共享库。通过安装MATLABCompiler Runtime,没有安装 MATLAB 的用户也可以使用 MATLAB Compiler 创建的应用程序和库,而无需支付版税。您既可以将 MATLAB Compiler Runtime 与应用程序打包到一起,也可以让您的用户在安装过程中进行下载。

 

四、详细步骤

⑴MATLAB编译环境的设置

①在MATLAB命令行窗口输入mbuild –setup ,然后再随后的问句后面选择n

②根据自己实际情况,选择MATLABCompiler的外部编译器,然后输入自己编译器的安装路径,我的是:E:\Program Files\Microsoft VisualStudio\Common\MSDev98\Bin

  

③确认设置的编译器是否正确,正确则输入y;

 

出现这些,说明编译环境设置完毕;

 

⑵创建一个文件夹我的是(D:\MyDocuments\MATLAB\NetCal),在MATLAB中新建一个.M文件mysum.m(注:一般保持.m文件文件名和函数名一致,避免出错),eg:

      

        

⑶通过MATLABCompiler 把.M文件生成.net程序集(.dll后缀)

         ①在MATLAB命令行中输入deploytool, 出现如下对话框,然后输入工程名(注:这里的工程名就是生成的程序集名,也是你在MATLAB中要引用的命名空间名)和你要创建的目标种类(这里要创建.net程序集,所有选择.NET Assembly.)

        

         ②在deploytool窗口中输入类名SumClass(你可以选择任何其他合法的类名),然后点击Add files选择上面的mysum.m文件,如下所示:

        ③设置编译选项,点击选择setting选项,然后选择.net选项卡,设置使用的.net框架的版本以及在AssemblyType单选按钮中选择shared,如下:

注:你在这里选择的.net框架的版本和你创建的.net应用程序使用的.net版本必须一致,由于MATLABR2010a最高只能选择3.5,而vs2010默认只安装了4.0版本的.net,我又安装一个.NET Framwork 3.5 SP1,这下可以创建4之前版本的.net应用程序;

         ④设置好编译选项后,直接点击进行编译;


⑷在windows窗体应用程序中应用MATLABCompiler 生成的.net程序集;

         ①创建windows窗体应用程序如下,这里只需要注意一点,选择.net框架为3.5 eg:

         ②添加引用,在新建的windows窗体应用程序中添加上面MATLAB编译生成的Test.dlMWArray.dll(E:\ProgramFiles\MATLAB\R2010a\toolbox\dotnetbuilder\bin\win32\v2.0)引用。

        然后添加如下命名空间:

        ③在窗体中添加一个textBox控件和一个button控件,然后添加如下代码:

        ④启动调试,点击按钮sum,结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值