一步步学如何使用VC调用matlab engine编程
来源:互联网 发布:遴选数据库收录期刊 编辑:程序博客网 时间:2024/04/29 23:28
这里不再介绍VC和matlab的各自优劣。直接给出一个最简单的例子。跟着文中步骤一步步来做,肯定会成功的。
废话少说。
Matlab Engine 采用Client/Server的方式,通过ActivcX通道和Matlab接口来实现在VC编程环境中直接调用matlab中的指令。调用使用的函数是:engEvalSting。后面将讲到此函数的使用方法。
下面是完整的步骤。如果是第一次使用,则要设置一下VC的编程环境中的include和lib的路径指向。假设matlab安装在c盘默认目录,则如下设置:
注意:上面添加路径的两步只设置一次就可以了。下面来进行VC编程。
首先,运行VC向导,新建一个工程文件如下:
接下来选择一个对话框程序作为简单示例:
点击”Finish”可以完成自动生成一个工程框架。
下面来设计界面,我们来简单的添加一个按钮并为其添加响应函数:
生成的按钮响应函数:
void CVc_matlab_engineDlg::OnButton1()
{
}
好了至此VC部分框架已经搭好。下面来进入调用engine部分。
在编写函数调用engine之前,首先要设置一下链接库(每个工程都要设置一次的,而前面的路径设置不必)。
在Object/Library modules文本框中添加:
libmx.lib libmat.lib libeng.lib
接下来,在StdAfx.h 文件头中加入:
#include "engine.h"
并在按钮响应函数中输入:
void CVc_matlab_engineDlg::OnButton1()
{
Engine *ep;
if(!(ep=engOpen(NULL)))
::MessageBox(NULL,"Can' start the MATLAB engine","VC调用matlab engine示例程序",MB_OK);
engEvalString(ep,"x=0:0.05:2*pi;y=sin(x);");
engEvalString(ep,"subplot(2,1,1);plot(x,y);");
engEvalString(ep,"title('画正弦线');");
engEvalString(ep,"subplot(2,1,2);load clown;imshow(X,map);title('显示matlab自带小丑图像')");
::MessageBox(NULL,"俺任意键继续","VC调用matlab engine示例程序 by bugzhao",MB_OK);
engClose(ep);
}
到此,这个程序已经可以运行了!很简单吧!不过这类程序的运行依赖于matlab,速度无法保证哦。等这类程序熟练以后,大家可以再去试试mex、dll和com组件调用等更加高级的内容。
程序执行界面:
点击按钮后调用matlab生成的正弦线和画出的matlab自带的小丑图像:
可以看出关键的语句就是:engEvalString。其用法也很简单。到此程序的环境设置、编写代码和执行都给大家演示完了。希望大家有所收获。详细的讲解,还是去看matlab的帮助吧:)
- 一步步学如何使用VC调用matlab engine编程
- 使用VC调用matlab engine编程
- VC和Matlab混合编程之调用Engine引擎方式<一>
- matlab engine: 在Codeblocks中使用C++调用matlab
- VC++与Matlab混合编程之一:调用Matlab引擎
- 使用 VC++ 调用arcgis engine中的gp工具
- c++调用matlab engine方法
- VC与Matlab混合编程(在VC中调用DLL)
- VC与Matlab混合编程(在VC中调用DLL) .
- VC与Matlab混合编程(在VC中调用DLL)
- VC与Matlab混合编程(在VC中调用DLL)
- 一步步学cscope高级使用
- 用VC++调用MATLAB的C/C++函数库编程
- VC++调用Matlab编写的DLL(混合编程)
- DLL文件 VC++&Matlab混合编程( 调用DLL)
- Vc调用matlab导出的dll,实现vc与matlab混合编程
- vc调用matlab函数
- VC调用MATLAB函数
- SQL SERVER 2005
- 二分查找法
- 網頁設計 - 點雅互動 Dhost Interactive
- c#中怎样使decimal类型变量保留固定小数位?
- c# winform项目开发中常用到得一些小技巧
- 一步步学如何使用VC调用matlab engine编程
- Windows下使用标准Shell接口遍历文件和文件夹
- Spring MultipartResolver文件上传
- 判断数据库、表和字段是否存在
- VC的内存绘图防止屏幕闪烁技术的实现
- Flex+blazeds实现与mySQL数据库的连接
- VC橡皮筋绘图技术的实现
- Oracle维护常用SQL语句
- vsphp for visual studio 2008 2.6.3.5601 引发 vs2008异常