C#调用matlab制作的COM组件的实例
2010-10-15 23:14
211 查看
net是微软的发展方向,以后我们开发软件的时候不免会调用一些matlab语言,主要思想就是首先把matlab的m函数做成com组件,然后在c#中应用此com组件,即可。
主要步骤如下:
1.建一个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
2.在matlab中输入comtool命令,就打开了matlab com builder,
点击file-new project,新建一个工程,
在component name里输入名字 点击ok就行了。
然后点击project--Add files,将test.m添加入工程,
然后点Build-Com Object,就会在comtestdistrib文件夹下生成一个test1_0.dll(它就
是做好的com组件),
Build时matlab已经自动将此dll在注册表中注册
我们还需做一个准备工作,进入/ bin/win32目录下(matlabroot为你机器上
matlab安装的路径),打regsvr32 mwcomutil.dll ,即对mwcomutil.dll进行注册(这个dll
是matlab下作的任何com组件都要用到的dll),下面 我们在其他编译器下调用时就可以用了
。
3.c#下实现调用
新建一个c#项目(我采用的是vs.net2003),选中右边的解决方案资源管理器中的引用
,点鼠标右键,选添加引用,在弹出来的窗口中选com,然后也找到test_1_0 .dll,点选
择,然后确定就可,此时此com组件也添加到工程里面去了,同样我们可以选择
然后编写程序
test.testclassClass st=new test.testclassClass();
object m=1,n=2;
st.test(m,n);
即可,然后在c#中就出现了我们所想得到的图形。
主要步骤如下:
1.建一个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
2.在matlab中输入comtool命令,就打开了matlab com builder,
点击file-new project,新建一个工程,
在component name里输入名字 点击ok就行了。
然后点击project--Add files,将test.m添加入工程,
然后点Build-Com Object,就会在comtestdistrib文件夹下生成一个test1_0.dll(它就
是做好的com组件),
Build时matlab已经自动将此dll在注册表中注册
我们还需做一个准备工作,进入/ bin/win32目录下(matlabroot为你机器上
matlab安装的路径),打regsvr32 mwcomutil.dll ,即对mwcomutil.dll进行注册(这个dll
是matlab下作的任何com组件都要用到的dll),下面 我们在其他编译器下调用时就可以用了
。
3.c#下实现调用
新建一个c#项目(我采用的是vs.net2003),选中右边的解决方案资源管理器中的引用
,点鼠标右键,选添加引用,在弹出来的窗口中选com,然后也找到test_1_0 .dll,点选
择,然后确定就可,此时此com组件也添加到工程里面去了,同样我们可以选择
然后编写程序
test.testclassClass st=new test.testclassClass();
object m=1,n=2;
st.test(m,n);
即可,然后在c#中就出现了我们所想得到的图形。
相关文章推荐
- C#调用MATLAB的COM组件中如果调用非自带的工具箱函数
- C# 制作Com组件:java调用.net DLL的方法
- C# 制作Com组件:java调用.net DLL的方法
- C#调用含有数组类形参和返回值的matlab函数实例
- C# 制作Com组件:java调用.net DLL的方法
- 一个基于COM组件的Matlab与C#混合编程实例
- C#调用MATLAB的COM组件中如果调用非自带的工具箱函数
- C#调用MATLAB的COM组件
- c#调用Oracle存储过程返回的游标结果代码实例
- c#中实现当一个类实例的属性值改变时,触发事件调用另一个方法
- [转]C#调用C++类(以COM组件的形式)
- C#基础之异步调用实例教程
- C#实现的调用DOS命令操作类实例
- VC调用C#的COM组件(DLL)
- ASP.NET实例:用C#制作艺术字
- C#中调用matlab模块
- 在C#下利用COM组件提供给第三方调用,无需强命名,通过CurrentDomain_AssemblyResolve方式的解决的过程
- C#中新建一个form实例后调用this.close,都关闭的问题
- C#调用C++COM组件
- C#调用Windows Media Player制作播放器