cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1676|回复: 4

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

[复制链接]
发表于 2007-8-17 10:13:40 | 显示全部楼层 |阅读模式
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',[0 0 0.2],'position',[150,268,300,300],...
'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=[0 0 1];
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组件就可以连续成像了,但有出现下面问题,待高手解决:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2007-8-22 08:44:34 | 显示全部楼层
[em01][em06]我的帖子怎么挂了这么多天美人理会呢?^_^ ,请教版主!!!!!!!
 楼主| 发表于 2007-8-26 10:44:52 | 显示全部楼层
发表于 2007-11-3 20:12:36 | 显示全部楼层
数组类型的输入和输出运行都有问题,数字类型没有,不知道这个matlab生成的dll为什么这个毛病
发表于 2007-11-13 17:23:32 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2024-5-19 07:50 , Processed in 0.487645 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表