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组件。
Build时matlab已经自动将此dll在注册表中注册
不过之前我们还需做一个准备工作,打开开始菜单“运行”,输入regsvr32 "matlab安装路径\bin\win32\mwcomutil.dll",即对mwcomutil.dll进行注册(这个dll是matlab下作的任何com组件都要用到的dll),下面我们在其他编译器下调用时就可以用了。
2,下面即可在C#中调用dll文件:
"引用"右击,选择浏览,找到test.dll,添加。
"引用"右击,选择浏览,找到MWArray.dll(matlab安装路径\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);