飞天1997 发表于 2007-8-17 10:13:40

labview7.0调用matlab6.5生成的COM组件出现的问题,那位高手能解决????!!!

Matlab6.5的COM组件支持部分绘图函数,Matlab7.0支持全部Matlab函数甚至包括工具箱,但7.0生成的COM组件比6.5生成COM组件运行速度要慢的多的多!所以我想用 Matlab6.5去做绘图的COM组件供LabVIEW7.0调用,这样速度快,Matlab程序如下:
function huitu(K,xhcs)
XX=[... ...];%坐标
YY=[... ...];%坐标
gek1=K;%外部接口输入的灰度值,是实时变化的
if xhcs==0;%xhcs代表循环次数
figure ('color',,'position',,...
'name','8极板ECT成像图','NumberTitle','off',...
'menu','figure','WindowButtonDown',...
'disp(''welcome to this program'')');
else
clf;
figure(1);
end;
axis('equal');axis('off');
hold on;
for e=1:792;
xx=XX(e,;yy=YY(e,;%XX,YY都是坐标
gek=gek1(e);
co=;
colormap(co);
if gek<=0.7%域值
gek=0;
else
if gek>1
gek=1;
end
b=1-co*gek;
fill(xx',yy',b);
end
end
hold on;
theta=0:2*pi/1000:2*pi; % 画管道图
plot(4.55*sin(theta),4.55*cos(theta),'r.','MarkerSize',5);
plot(5.1*sin(theta),5.1*cos(theta),'r.','MarkerSize',20);
我的目的:LabVIEW主程序每循环一次(xhcs),就得到一个不同的数组K,有了一组K就可以得到一副图像,当然我们希望只在一个窗口实时刷新,得到不同的图像了。
问题来了,我的K和xhcs是变化的,但我的图像却还是第一副!但用MATLAB7.0将同样的上面的程序做成COM组件,就可以在一个窗口上连续成像!但速度如牛!!
在上面程序的末尾加上drawnow,在用Matlab6.5生成COM组件就可以连续成像了,但有出现下面问题,待高手解决:

飞天1997 发表于 2007-8-22 08:44:34

我的帖子怎么挂了这么多天美人理会呢?^_^ ,请教版主!!!!!!!

飞天1997 发表于 2007-8-26 10:44:52

:L :) 我在苦苦的等待中...:)

wdyjz 发表于 2007-11-3 20:12:36

数组类型的输入和输出运行都有问题,数字类型没有,不知道这个matlab生成的dll为什么这个毛病

wdyjz 发表于 2007-11-13 17:23:32

已经解决
页: [1]
查看完整版本: labview7.0调用matlab6.5生成的COM组件出现的问题,那位高手能解决????!!!