2024年3月9日发(作者:)
由于matlab是一种解释性语言,所以在matlab程序中最忌讳直接使用循环语句,如
果不得已要使用for循环,可以采用以下方法提高速度。
1、使用6.5以上版本,对循环已作优化;
2、尽可能转化为矩阵运算;
3、转化为二进制执行文件运算,如使用matlab内带的编译系统或matcom以及com
组件技术。
其中com组件技术最方便的就是利用com builder来实现,这里重点介绍。
com builder是matlab6.5才有的,也是mathworks公司推荐使用于混合编程的,
这些日子进行了全方位的摸索,感觉是爽呆了,下面我们一起来揭开它的神秘面纱。
此系列分为以下几块:
下做com组件
,c#.net实现调用
实现调用
4.打包
5.优缺点评注
其中2,3部分可以选择一个看
matlab下做com组件
com是component object module的简称,它是一种通用的对象接口,任何语言只
要按照这种接口标准,就可以实现调用它。matlab6.5新推出来的combuilder就是把
matlab下的程序做成com组件,供其他语言调用。
我们先准备两个测试文件,并copy一个图片到c盘下,起名叫(这些你都可以
改的,我这儿是为了程序方便):
第一个叫im_test.m如下:
function im_test %这个文件不带输入与输出
I=imread('c:'); %因为以前带有imshow的程序用mcc编成dll后用不
%了,所以想试combuilder是否
imshow(I); %能支持这些函数
第二个叫split2rgb.m,就是前些日子Zosco发给我的那个程序,因为它用mcc编成
dll后有问题,所以我在这儿继续将它进行测试,而且它也带有多个输入及输出参数,所以
也正好拿来测试
在matlab的workspace下打comtool,就打开了matlab com builder,点击


发布评论