求助:如何在LABWINDOWS中调用MATLAB程序?
我想利用LABWINDOWS的面板控制键(command button)来调用matlab程序,不知如何编写? <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> 参考CVI的例子:\cvi\samples\activex\matlab 谢谢,我看了它的DEMO还是没看懂.我现在就是有.uir和.c,.h文件.还是不清楚该怎么调用.它的例子也不能很好的执行.不能显示结果.
我的工作是用MATLAB处理图像,
1:想用LABWINDOWS的面版输入图像文件名,然后转MATLAB处理,最后由MATLAB显示处理后的图像
2:用LABWINDOWS 的面版输入图像灰度范围,然后将参数带入MATLAB程序中,最后显示结果,并可用
LABWINDOWS读去生成的text文件.
我觉的难点在1:将在LABWINDOWS上输入的参数调用到MATLAB中.2:连接MATLAB并运行生成结果显示
出来.
时间比较紧急,麻烦大虾请再说具体一点,该如何编写连接的程序?
拜托了!
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是应用类型库吗?它的功能是做什么的?用这个不行吗?能不能解释一下。谢谢 这个问题已解决,我找出两种
1)先装matlab,再装cvi ,不过这个我没试过,因为重装太麻烦了
2)修改matlab的注册码,重新建立它的CLSID
在注册表里“查找”:matlab application,这时查出的结果会在注册表编辑器里最下面出现,
我的是 {554F6052-79D4-11D4-B067-009027BA5F81}用这个号去替换matlabsrvr.c文件中的clsid
值,就可以了,不过这个matlabsrvr.c文件是要用matlabsrvr.fp重新建才行哦,是不是很简单
啊。呵呵,我可是花了三天的时间才搞定的哦。
对了,若是还是编译不过去,可能就是MLApp_NewDIMLApp (NULL, &hMatlab)要改成MLApp_NewDIMLApp (NULL,1,LOCALE_NEUTRAL,0 &hMatlab),也就是把里面的参数换一下。
我的系统是matlab6.5和cvi5.5,cvi是老了点,可能会有些帮助。呵呵
[此贴子已经被作者于2005-9-5 14:45:57编辑过]
可以去<a href="http://easons.blogbus.com/index.html" target="_blank" >http://easons.blogbus.com/index.html</A>看看 瓦日 困惑哥N9了,明天试试 aegeanblue 发表于 2005-6-1 06:42
谢谢,我看了它的DEMO还是没看懂.我现在就是有.uir和.c,.h文件.还是不清楚该怎么调用.它的例
子也不能很好 ...
我也遇到了同样的问题,labwindows和matlab的接口,怎么用labwindows将参数传递给matlab中M文件的变量,从而调用执行M文件,最后传回labwindows中显示!
不知道你解决了没有!请大神指点~! 我在尝试用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里面声明的一个函数,我也还没调试出来为什么报错。 我在尝试用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里面声明的一个函数,我也还没调试出来为什么报错。 或者我们可以用传递字符串数组指针的方式把buffer的指针传递给matlab。。欢迎提建议,欢迎指导。。愁啊。。。 或者我们可以用传递字符串数组指针的方式把buffer的指针传递给matlab。。欢迎提建议,欢迎指导。。愁啊。。。 谢谢楼主,现在刚开始用CVI调用MATLAB的DLL,不知道楼主搞清楚了吗,能否给我指导一下,怎么用CVI调用MATLAB的dll,谢谢,QQ504435339 huang110 发表于 2014-11-13 23:54
我在尝试用cvi调用matlab生成的dll, 按照网上的资料来看,mxArray 可能是一个好办法,但我还在这里苦苦调 ...
您好 我现在也遇到了这个情况,请问您解决了么?都快愁死我了
页:
[1]
2