C#中调用Matlab程序

本文介绍如何使用MATLAB创建COM组件,并在C#中进行调用的方法。首先通过MATLAB脚本创建COM组件,接着利用C#进行组件引用并实现跨语言调用。

1,matlab中建一个m文件(test.m)

例如:
function test(h,D)
for x=-10:0.1:10,
   if x>D
       y=h;
       hold on;
       plot(x,y)
   elseif x<-D
       y=-h; 
       hold on;
       plot(x,y)
   else
       y=h/(D*x);
       hold on;
       plot(x,y)
   end
end

MATLAB R2007a中输入deploytool命令(matlab6.5中输入comtool),打开Matlab Build For .net窗口新建个工程,在此工程中“Add files”即填加test.m这个文件,build即可生成COM组件,为test.dll,即为我们将在C#中引用的COM组件。

Buildmatlab已经自动将此dll在注册表中注册

不过之前我们还需做一个准备工作,打开开始菜单运行,输入regsvr32 "matlab安装路径\bin\win32\mwcomutil.dll",即对mwcomutil.dll进行注册(这个dllmatlab下作的任何com组件都要用到的dll),下面我们在其他编译器下调用时就可以用了。

2,下面即可在C#中调用dll文件:

"引用"右击,选择浏览,找到test.dll,添加。
"
引用"右击,选择浏览,找到MWArray.dllmatlab安装路径\toolbox\dotnetbuilder\bin\win32\v2.0\MWArray.dll,添加。
再写入以下代码:
            test.testclass st = new test.testclass();
            MathWorks.MATLAB.NET.Arrays.MWArray m = 1, n = 2;
            st.test(m,n);

 

转载于:https://www.cnblogs.com/gisdream/archive/2011/08/17/2142730.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值