ASP.NET(C#)与MATLAB混合编译

最近在实现ASP.NET与MATLAB混合编译,几乎看遍了网络上所有同学们的解决方法,总体来说有两种实现方法。一种是利用MLApp.MLAppClass直接执行MATLAB。另一种是利用MATLAB自带的编译器MCR将.M文件编译为DLL文件,在ASP.NET中引用并且使用。

具体方法请参考MATLAB官网给出的一个例子,非常详尽的说明了第二种方法的正确使用方法。具体步骤就不细写了,只把最关键的代码留下,供大家学习。

http://cn.mathworks.com/support/2013a/dotnetbuilder/4.1.3/demos/using-builder-ne.html

 1 //using rdupjr//我自己生成的一个dll,这里面有一个class名叫rduclass()
 2
 3 RduClass obj = null;
 4 MWNumericArray input = null;
 5 MWNumericArray output = null;
 6 MWArray[] result = null;
 7
 8 try
 9 {
10     obj = new RduClass();
11     input = 25;
12     result = obj.rdu(1, input, input);
13     output = (MWNumericArray)result[0];
14     Console.WriteLine(output);
15     Console.Read();
16
17 }
18 catch (Exception)
19 {
20
21     throw;
22 }

利用这个方法,完全可以完成MATLAB到C#的各种数据的传递。参照这个原理,C#传递到MATLAB也就不是难事情了。

原文地址:http://www.cnblogs.com/bobyin/p/4506861.html

时间: 2024-11-05 16:02:45

ASP.NET(C#)与MATLAB混合编译的相关文章

asp.net下调用Matlab生成动态链接库

对于这次论文项目,最后在写一篇关于工程的博客,那就是在asp.net下调用matlab生成的dll动态链接库.至今关于matlab,c/c++(opencv),c#(asp.net)我总共写了4篇配置的博客,配置问题搞了我们差不多2周多的时间,各种编译不通过,各种链接出问题,各种头疼,甚至都有放弃asp.net下建工程,转用matlab的gui来实现前端界面的念头了.但是在队友的强烈要求下,我不得不硬着头皮搞下这配置问题,最终总结出这4篇配置博客.其中艰辛,恐怕连队友都不甚了解. 当然在实验室同

C#和matlab混合编程

C#和MatLab的混合编程,充分利用了winform的直观显示和matlab的强大计算能力.在此以一个小例子的形式给大家讲述一下二者混合编程的实现. 一.软件的配置说明 C#版本:VS2010        matlab版本:matlab2013a 二.把 matlab函数编译成dll文件 2.1首先写一个函数的.m文件(如下函数MatrixOpera实现两个矩阵的相加和相减) %--------------------------------------------------------

VC++和Matlab混合编程(在VC中调用将.m文件生成的DLL)

这是师兄们在实际项目中用到的关于VC++和MATLAB混合编程的实例.最近自己在瞎鼓捣,也就研究了下这块,本想写篇博文,但网上这块的资料还算是比较多,写的也比较具体,想着不重复劳动,因此我也就不写了. //提取节点信息 mxArray *csd_path; mxArray *save_path; mxArray *mat_path=mxCreateCellMatrix(NULL,NULL);//mxCreateCellMatrix:创建二维单位矩阵 mxArray *analog=mxCreat

VS2013调用MATLAB混合编程

Visual Studio和MATLAB混合编程,有两种方法: 1 MATLAB调用C程序: 2 VS调用MATLAB(目前见到的都是VS,其他编译器如codeblocks,或不提供这项功能): 前一种是用MATLAB的mex命令调用VS或其他编译器,将以一定方式编写出的C文件编译成.mexw32(针对win32)或者.mexw64(针对win64),然后MATLAB就可以用调用动态链接库的方式,调用C程序.这一过程中,只需要在安装好编译器的前提下,执行: mex -setup 和 mbuild

C++和MATLAB混合编程-DLL

先小话一下DLL,DLL是动态链接库,是源代码编译后的二进制库文件和程序接口,和静态链接库不同的是,程序在编译时并不链接动态链接库的执行体,而是在文件中保留一个调用标记,在程序运行时才将动态链接库文件加载入内存.并且DLL在运行时是共享的,即当多个程序调用时,内存中也只保持一份动态链接库. 动态链接库的调用有显式和隐式两种方式. 隐式链接需要用到我们前面生成的plotdata.c,plotdata.h,plotdata.lib以及plotdata.dll文件. 首先将plotdata.c,plo

C/C++与Matlab混合编程初探

欢迎转载,尊重原创,所以转载请注明出处. http://blog.csdn.net/bendanban/article/details/37830495 Matlab 拥有丰富的功能,编程简单.不过,有些情况下,Matlab程序的执行速度比较慢.C/C++编译执行的程序速度比较快,编程难度上比Matlab要高一些.因此存在一种方案,就是使用Matlab实现我们的实验程序,用C/C++来实现Matlab程序中比较耗时的部分,从Matlab程序中调用C/C++的程序以实现加速. 本文主要讲解如何在M

.Net Core Razor 预编译,动态编译,混合编译

预编译 预编译是ASP .Net Core的默认方式.在发布时,默认会将系统中的所有Razor视图进行预编译.编译好的视图DLL统一命名为 xxx.PrecompiledViews.dll 或者 xxx.Views.dll 动态编译 将项目整个配置成动态编译很简单,添加一个配置项目MvcRazorCompileOnPublish,值为false即可 <PropertyGroup> <MvcRazorCompileOnPublish>false</MvcRazorCompile

c#与matlab混合编程探索

以下讲述如何使用c#来调用matlab函数实现北斗定位算法的仿真 1.准备 首先需要matlab2010,vs2010(其他版本是否可行,未知),另外需要安装matlab的辅助工具MCRInstaller(该工具无需下载,在安装好的matlab程序包中可以找到,例如:E:\matlab 2010\toolbox\compiler\deploy\win32) 2.准备matlab程序 上述截图是我的定位程序所涉及到的函数 3.matlab程序处理为dll文件,供c#调用,处理的基本步骤如下: (1

caffe 在window下编译(windows7, cuda8.0,matlab接口编译)

1. 环境:Windows7,Cuda8.0,显卡GTX1080,Matlab2016a,VS2013   (ps:老板说服务器要装windows系统,没办法,又要折腾一番) 2.下载caffe 包:https://github.com/BVLC/caffe/tree/windows 按照Github上的命令行就行: 这里的Projects是自己在本地新建的文件夹,随便放在哪里,如果git没有安装的话,先安装git,百度git即可. 执行前3个命令之后,就把caffe包下载下来了. 在运行bui