当前位置:文档之家› 使用VC调用matlab_engine编程

使用VC调用matlab_engine编程

使用VC调用matlab_engine编程
使用VC调用matlab_engine编程

关于如何使用VC调用matlab engine编程

刚开始学使用VC调用matlab engine编程的时候,遇到很多问题,就去百度找解决方法,但发现根本解决不了我的问题,因为网上大部分实例和步骤都是在matlab6.5和vc++6.0环境下完成的,但是现在我用的是matlab2010a,所以会出现很多环境配置的问题,写本文的目的是总结用我在用VC调用matlab engine编程过程中出现的问题和解决办法。

Matlab Engine 采用Client/Server的方式,通过ActivcX通道和Matlab接口来实现在VC编程环境中直接调用matlab中的指令。调用使用的函数是:engEvalSting。

下面是自己的实践过程:

如果是第一次使用,则要设置一下Visual C++6.0 编程环境中的include 和lib的路径指向。我的matlab2010安装在D盘目录D:\MATLAB 2010

一、设置VC相关属性。

(1)Visual C++6.0 编译环境的设置:通过菜单 Tools/ Options,打开Visual C++6.0设置属性页,进入 Directorie页面,在 Show Directories for 下拉列表中选择Include Files,添加路径:D:\MATLAB 2010\extern\include (这是我电脑中Matlab的安装路径);再选择下拉列表中的 Library Files,添加路径:D:\MATLAB 2010\extern\lib\win32\microsoft(我电脑中Matlab 的安装路径,但是在我查看资料的时候看到很多是

D:\MATLAB2010\extern\lib\win32\microsoft\msvc60这个路径,但是我用

的是MatlabR2010a,msvc60是matlab6.5老版本才有的,10.0版本没有这个文件,所以我们把路径设到D:\MATLAB 2010\extern\lib\win32\microsoft 就可以了)。

(2)添加库文件: 通过菜单 Projects\settings,进入 Link 页面,在Object/Library Modules 框中,添加库文件名:libmx.lib 、libmat.lib 、libeng.lib。每个新的工程文件都要单独添加库文件

二、下面来进行VC编程

首先,运行VC向导,新建一个工程文件如下:

接下来选择一个对话框程序作为简单示例:

点击”Finish”可以完成自动生成一个工程框架。

下面来设计界面,我们来简单的添加一个按钮并为其添加响应函数:

生成的按钮响应函数:

好了至此VC部分框架已经搭好。下面来进入调用engine部分。

在编写函数调用engine之前,首先要设置一下链接库(每个工程都要设置一次的,而前面的路径设置不必)。

在Object\Library modules文本框中添加:libmx.lib libmat.lib libeng.lib 接下来,在StdAfx.h 文件头中加入:

先介绍一下MATLAB引擎API函数:

最后在按钮响应函数中输入:

到此,这个程序已经可以编译没有错,但运行时会出现运行时出现丢失libeng.dll等动态链接库的对话框,我在网上查资料,并没有得到很满意结果,其实还是环境配置的问题,只要在我的电脑—高级—环境变量—系统变量path中包含路径D:\MATLAB 2010\bin\win32\即可(注意:这还是我电脑中matlab的安装路径)

现在可以看到运行界面了

但点击“调用matlab”按钮时会出现对话框,这个问题是我家王老师帮我解决的,解决的过程如下:

点击按钮后调用matlab生成的正弦线和画出的matlab自带的小丑图像:

到此程序的环境设置、和出现的所有可能问题以及解决办法都为但大家展示了。希望大家有所收获。

相关主题
文本预览
相关文档 最新文档