c#调用matlab生成的dll
c#调用matlab生成的dll,这个过程分为三步:
1、编写matlab代码
2、将.m文件编译成dll
3、在C#代码里调用dll
打算实现的功能:
求x*y的二维数组的均方差
一、编写matlab代码
matlab代码如下:
function result = CalculationVar(img_in, x, y)result_std2 = std2(img_in);result = [result_std2, x, y];
end
保存的文件名称为: CalculationVar.m
img_in 是二维数组,本文是 512*512的二维数组
x:行数,本文是512
y:列数,本文是512
二、将.m文件编译成dll
1. 在matlab的命令行窗口,输入 deploytool
2. 弹出如下的对话框:
选择Library Compiler,弹出如下对话框:
TYPE栏选择.NET Assembly, 点击 + 号,选择 CalculationVar.m文件,将Class Name 改成 CalculationVarClass,最后点击 Package 按钮, 提示是否保存 CalculationVar.prj,选择是,等待生成
生成完成后,如下所示:
三、在C#代码里调用dll
新建c# winfrom的工程,界面上放个按钮,如下图
添加引用:CalculationVar.dll 和 MWArray.dll
在 MATLAB\CalculationVar\for_redistribution_files_only 找到 CalculationVar.dll
在 MATLAB\R2018b\toolbox\dotnetbuilder\bin\win64\v4.0 找到 MWArray.dll
点击事件代码如下:
private void button3_Click(object sender, EventArgs e){try{//构建512*512二维数组double[,] arr = new double[512, 512];for (int i = 0; i < 512; i++){for (int j = 0; j < 512; j++){arr[i, j] = 27000 + i + j;}}CalculationVarClass cvar = new CalculationVarClass();MWArray arrs = (MWNumericArray)arr;MWArray x = 512;MWArray y = 512;MWArray result = cvar.CalculationVar(arrs, x, y);string strResult = result.ToString();}catch (Exception ex){string error = ex.Message;}}
最后得到的结果是 209.0231 512.0000 512.0000
c#调用matlab生成的dll相关推荐
- vs2008中调用matlab生成的dll
vs2008中调用matlab生成的dll matlab版本为:matlab7.11.0(R2010b) vs2008 1.在matlab中生成dll 在m文件中实现如下功能: 获得N个魔方矩阵的秩. ...
- qt调用matlab生成的dll库
最近由于在项目中要用到matlab的算法,而用C++转换matlab算法非常麻烦,所以采用qt+matlab混合编程的方法,在使用中遇到了些许问题,特记录如下. 一.生成matlab库 1.首先需要下 ...
- C#调用Matlab生成的dll方法
其实整个过程比较简单,但是需要心细一点. 需要的工具:VS2005及以上版本,MATLAB2008B及以上版本,另外非常重要的需要安装一个MATLAB Compiler Runtime,这个文件(MC ...
- vc调用matlab生成的dll实例
http://blog.csdn.net/ithzhang/article/details/7444563 转载于:https://www.cnblogs.com/burellow/archive/2 ...
- qt中调用matlab生成的动态库
前言: 前面已经实现了在vc中调用matlab生成的动态库,请参考:vc中调用matlab生成的动态库 现在在前面已经生成好的matlab动态库的基础上,在qt中调用matlab生成的动态库.生成ma ...
- QT matlab 混编-qt调用matlab生成dll
前言 环境: win10 Qt5.12 mingW(64位) matlab2019a(64位)----mingw w64 主要参考的文章:1. https://blog.csdn.net/Justic ...
- vc调用matlab生成的C++dll库总结。
实验室的一个项目需要调用matlab程序.经过再三考虑,决定使用vc调用matlab导出库的形式.而我主要负责与matlab程序结合的工作.以下是今天工作的简要总结.全当是个备忘吧. 1:在matla ...
- CSharp调用Matlab编译的dll
一.使用环境:Visual Studio 2010,Matlab7.11.0(R2010b),操作系统为64位,则对应的Matlab安装在Program Files文件夹下,而非Program Fil ...
- VC调用MATLAB 产生的dll文件
1.当然是先建立matlab的m文件. 我在matlab中定义了一个函数, 其m文件如下: function re=add(C) N=73;alpha=(0.2)*(pi/2); Ts=sqrt(2* ...
最新文章
- python调用c++动态库 linux_linux中使用boost.python调用c++动态库的方法
- 分享一个外星人蓝屏的问题解决方法
- 公众平台模板消息所在行业_微信公众号模板消息功能怎么快速推送?
- 命令行运行Jmeter实例
- 的udp的接收端如何看速率_计算机网络 TCP与UDP
- java sleep 精度,java – Thread.sleep(x)是否足以在Android中用作时钟?
- 辅助驾驶等级_BBA霸榜、特斯拉折戟 E-NCAP辅助驾驶评测结果公布
- php:两个文件夹递归地比较,没有的文件自动复制过去
- mysql 相关操作
- 基于人脸识别的教室管理系统设计与实现
- python的if条件语句的用法及实例
- 小米--万物互联实现原理
- 题解 伊甸园日历游戏
- Socket套接字,一个简单的聊天室案例!
- 女神联盟2服务器停止注册,女神联盟2新区,平台几天开一次新区
- IT运维面试问题总结-LVS、Keepalived、HAProxy、Kubernetes、OpenShift
- swiper h5学习
- java 基础练习(1-5)
- 在职研究生计算机科学与技术考研考哪些科目,计算机在职研究生考试科目
- 2018年下半年系统集成项目管理工程师下午案例分析真题