aegeanblue 发表于 2005-5-29 18:04:45

求助:如何在LABWINDOWS中调用MATLAB程序?

我想利用LABWINDOWS的面板控制键(command button)来调用matlab程序,不知如何编写?

fusq 发表于 2005-5-31 07:22:32

<P>CVI和Matlab混合编程,必须要先安装Matlab</P><P>在CVI中,建立ActiveX控件服务器,选择Matlab Automatin Server Type Library.(Matlab必须在CVI之前安装才能看到这个选项),创建后将生成三个文件,XXX.fp    XXX。C和XXX.h,将。C和。H文件包含在CVI工程中就可以了。。C文件中包含着CVi和Matlab的接口函数。</P><P>其中就包括打开Matlab函数,运行Matlab函数等。</P>

game216 发表于 2005-6-1 05:53:36

参考CVI的例子:\cvi\samples\activex\matlab

aegeanblue 发表于 2005-6-1 06:42:47

谢谢,我看了它的DEMO还是没看懂.我现在就是有.uir和.c,.h文件.还是不清楚该怎么调用.它的例
子也不能很好的执行.不能显示结果.
我的工作是用MATLAB处理图像,
1:想用LABWINDOWS的面版输入图像文件名,然后转MATLAB处理,最后由MATLAB显示处理后的图像
2:用LABWINDOWS 的面版输入图像灰度范围,然后将参数带入MATLAB程序中,最后显示结果,并可用
LABWINDOWS读去生成的text文件.
我觉的难点在1:将在LABWINDOWS上输入的参数调用到MATLAB中.2:连接MATLAB并运行生成结果显示
出来.
时间比较紧急,麻烦大虾请再说具体一点,该如何编写连接的程序?
拜托了!

engine2003 发表于 2005-9-3 17:37:25

2楼的版主,我也在用CVI调用MATLAB,在activex automation server里找不到Matlab Automatin Server Type Library,只找到 matlab application(version 6.5)type library ,这种情况是不是你所说的必须先装matlab啊,而我现在也记不起是先装的哪个了,另外我还想知道,这个matlab application(version 6.5)type library是应用类型库吗?它的功能是做什么的?用这个不行吗?能不能解释一下。谢谢

engine2003 发表于 2005-9-5 22:40:26

这个问题已解决,我找出两种
1)先装matlab,再装cvi ,不过这个我没试过,因为重装太麻烦了
2)修改matlab的注册码,重新建立它的CLSID
在注册表里“查找”:matlab application,这时查出的结果会在注册表编辑器里最下面出现,
我的是 {554F6052-79D4-11D4-B067-009027BA5F81}用这个号去替换matlabsrvr.c文件中的clsid
值,就可以了,不过这个matlabsrvr.c文件是要用matlabsrvr.fp重新建才行哦,是不是很简单
啊。呵呵,我可是花了三天的时间才搞定的哦。
对了,若是还是编译不过去,可能就是MLApp_NewDIMLApp (NULL, &amp;hMatlab)要改成MLApp_NewDIMLApp (NULL,1,LOCALE_NEUTRAL,0 &amp;hMatlab),也就是把里面的参数换一下。
我的系统是matlab6.5和cvi5.5,cvi是老了点,可能会有些帮助。呵呵
[此贴子已经被作者于2005-9-5 14:45:57编辑过]

easons 发表于 2006-4-24 21:54:44

可以去<a href="http://easons.blogbus.com/index.html" target="_blank" >http://easons.blogbus.com/index.html</A>看看

shi1rong 发表于 2010-11-23 01:12:48

瓦日 困惑哥N9了,明天试试

luobin 发表于 2014-3-16 15:33:36

aegeanblue 发表于 2005-6-1 06:42
谢谢,我看了它的DEMO还是没看懂.我现在就是有.uir和.c,.h文件.还是不清楚该怎么调用.它的例
子也不能很好 ...

我也遇到了同样的问题,labwindows和matlab的接口,怎么用labwindows将参数传递给matlab中M文件的变量,从而调用执行M文件,最后传回labwindows中显示!
不知道你解决了没有!请大神指点~!

huang110 发表于 2014-11-13 23:54:22

我在尝试用cvi调用matlab生成的dll, 按照网上的资料来看,mxArray 可能是一个好办法,但我还在这里苦苦调试。因为这里创建mxArrary一直失败。。。。。。 error: Undefined symbol '_mxCreateDoubleMatrix_700' referenced in "d:\Personal\my program try\CVI Try\141112\cvibuild.141112trydll\Debug\trydll.obj".

mxCreateDoubleMatrix_700 是matrix.h里面声明的一个函数,我也还没调试出来为什么报错。

huang110 发表于 2014-11-13 23:54:38

我在尝试用cvi调用matlab生成的dll, 按照网上的资料来看,mxArray 可能是一个好办法,但我还在这里苦苦调试。因为这里创建mxArrary一直失败。。。。。。 error: Undefined symbol '_mxCreateDoubleMatrix_700' referenced in "d:\Personal\my program try\CVI Try\141112\cvibuild.141112trydll\Debug\trydll.obj".

mxCreateDoubleMatrix_700 是matrix.h里面声明的一个函数,我也还没调试出来为什么报错。

huang110 发表于 2014-11-13 23:55:33

或者我们可以用传递字符串数组指针的方式把buffer的指针传递给matlab。。欢迎提建议,欢迎指导。。愁啊。。。

huang110 发表于 2014-11-13 23:55:37

或者我们可以用传递字符串数组指针的方式把buffer的指针传递给matlab。。欢迎提建议,欢迎指导。。愁啊。。。

smu_cvi 发表于 2017-4-14 13:00:11

谢谢楼主,现在刚开始用CVI调用MATLAB的DLL,不知道楼主搞清楚了吗,能否给我指导一下,怎么用CVI调用MATLAB的dll,谢谢,QQ504435339

shidizai1993 发表于 2018-4-27 22:40:36

huang110 发表于 2014-11-13 23:54
我在尝试用cvi调用matlab生成的dll, 按照网上的资料来看,mxArray 可能是一个好办法,但我还在这里苦苦调 ...

您好 我现在也遇到了这个情况,请问您解决了么?都快愁死我了

页: [1] 2
查看完整版本: 求助:如何在LABWINDOWS中调用MATLAB程序?