vc调用matlab
请问一下在vc环境下如何调用matlab的求逆函数inv()。
最终的程序运行能够不依赖matlab环境。
[解决办法]
Matlab引擎实现VC和Matlab混合编程的步骤
要想在VC集成环境下利用Matlab引擎实现VC和Matlab的混合编程,一般需要经过以下几个必要的步骤:
(1)Visual C++6.0 编译环境的设置:通过菜单 Tools/ Options,打开Visual C++6.0设置属性页,进入 Directorie页面,在 Show Directories for下拉列表中选择Include Files,添加路径:D:\Matlab6p5\extern\include(在Matlab的安装路径下);再选择下拉列表中的 Library Files,添加路径:D:\Matlab6p5\extern\ lib\win32\Microsoft\msvc60(在Matlab的安装路径下)。编译环境只需设置一次。
(2)添加库文件: 通过菜单 Projects|settings,进入 Link 页面,在 Object/Library Modules 框中,添加库文件名:libmx.lib 、libmat.lib 、libeng.lib。每个新的工程文件都要单独添加库文件。
(3)在使用 engine 函数的程序头文件中包含如下两个头文件:
#include "engine.h"
#include <stdlib.h>
(4)在应用程序中添加调用Matlab引擎的程序代码:
{
Engine *ep;
if(!(ep=engOpen(" \0"))) //打开Matlab引擎,建立与本地Matlab的连接
{
fprintf(stderr,"\n Can't start MATLAB engine\n");
exit(-1);
}
以上步骤是对VC与Matlab混合编程的编译环境进行设置,在完成了以上基本步骤后就可以利用Matlab引擎库函数engEvalString来调用Matlab的内建函数了。
[解决办法]
http://hi.baidu.com/%D0%C5%D7%D333/blog/item/5d3da3f962c1ed06d8f9fd76.html 可参考此文
推荐使用方法2:建立接口
[解决办法]
建议你看一下这个:http://www.ilovematlab.cn/viewthread.php?tid=51581
可以把MATLAB的脚本生成 *.lib,然后再VC中调用。
[解决办法]
不可以。matlab没有提供类似于静态库的东西,因此必须安装matlab环境。
matlab是商业软件,所有代码都在其提供的环境包里面。如果调用了matlab的代码,必须安装matlab的环境包以及必要的com组件。
建议楼主使用开源的Scilab,octave等数学软件库。