您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页C#调用MATLAB生成的dll

C#调用MATLAB生成的dll

来源:飒榕旅游知识分享网
C#调用Matlab生成的dll

1.1操作环境

操作系统

Win7(32位)必需软件:

MatlabR2015a

VisualStudio2012(包含VisualC#和VisualC++)NetFramework4.0以上

1.2操作步骤

首先Matlab的打包工具,把Matlab函数打包为dll文件。然后在C#中,引用生成的dll文件,并在程序中调用dll中的函数。下面分步骤介绍:

1.2.1路径设定

在F盘新建一个名为Matlab的文件夹;启动Matlab.exe,在命令窗口输入pathtool,会弹出如下对话框。点击【AddFolder】,选择刚才的文件夹即可。关闭对话框后,在命令窗口输入userpath(‘F:\\Matlab’)。按回车设定完毕。

1.2.2M文件创建

在Matlab中新建一个M文件,写入如下函数代码,保存为F:\\Matlab\\gougu.m。

functionw=gougu(a,b)w=a*a+b*bend1.2.3打包生成dll

在Matlab命令窗口输入deploytool,弹出如下选项,选择“LibraryCompiler”

出现打包程序窗口界面:

在窗口中进行如下选择:Type:.NetAssembly

ExploredFunctions:选择刚才做好的gougu.m文件

PackagingOptions:勾选上面的复选框,取消勾选下面的复选框。填写LibraryInformation各项

最后,点击窗口右上角的Package按钮,一直等待到提示打包完成。打包结束后,会在文件夹中看到生成了的dll文件,路径为“F:\\Matlab\\gougu\\for_redistribution_files_only\\gougu.dll”。

1.2.4C#调用dll

在VisualStudio2012中,新建一个C#控制台程序或者WinForm应用程序,本例创建的是窗体应用程序,在默认窗体上放入一个标准按钮button1。然后为项目添加如下两个外部引用:

gougu.dllMWArray.dll

其中gougu.dll就是刚才打包生成的dll文件,而另一个MWArray.dll,位于“C:\\ProgramFiles\\MATLAB\\MATLABProductionServer\\R2015a\oolbox\\dotnetbuilder\\bin\\win32\\v2.0\\MWArray.dll”然后在C#代码中,加入如下3个命名空间:

usinggougu;usingMathWorks.MATLAB.NET.Arrays;usingMathWorks.MATLAB.NET.Utility;在窗体的button1的单击事件过程中,输入:

privatevoidbutton1_Click(objectsender,EventArgse){

gougu.Class1g=newgougu.Class1();

MWNumericArrayarray=newMWNumericArray(7);MWNumericArrayarray2=newMWNumericArray(4);MWArrayresult=g.gougu(array,array2);MessageBox.Show(result.ToString());}

启动窗体后,单击按钮,返回结果为65。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务