VS2010调用MatlabR2010b的图形引擎
来源:互联网 发布:java实训班 编辑:程序博客网 时间:2024/04/29 18:30
VS2010调用MatlabR2010b的图形引擎
参考自:http://www.cnblogs.com/Vonng/p/4232586.html?utm_source=tuicool&utm_medium=referral
一、介绍
用C++调用Matlab图形引擎,主要是利用COM组件服务。将Matlab作为COM Server,接受Client应用程序的请求。Matlab的m脚本是一种解释性语言,因此大多数调用都是直接通过传递命令字符串的eval方法实现的。
具体流程:
(1)通过C++ 程序,包含Matlab提供的头文件engine.h;
(安装目录文件下:D:\Program File\matlab2010\extern\include)
(2)利用Matlab提供的静态库文件libeng.lib,libmx.lib;
(位于D:\Program File\matlab2010\extern\lib\win32\microsoft)
(3)利用Matlab提供的动态链接库.dll文件.
(位于目录:D:\Program File\matlab2010\bin\win32)
二、实例演示
1、新建一个空项目,然后添加.cpp文件,其代码为:
#include<cstdlib>#include <cstdio>#include<cstring>#include"engine.h" const int BUFFER_SIZE = 1024;char buffer[BUFFER_SIZE];void test(){ Engine* ep; mxArray *x1 = NULL; mxArray *y1 = NULL; if ((ep = engOpen("")) == NULL) { printf("Engine Fail"); } engOutputBuffer(ep, buffer, BUFFER_SIZE); printf("Init Success"); double x[5] = { 1.0, 2.5,3.7,4.4,5.1 }; double y[5] = { 3.3,4.7,9.6,15.6,21.3 }; x1 = mxCreateDoubleMatrix(1, 5, mxREAL); y1 = mxCreateDoubleMatrix(1, 5, mxREAL); memcpy((void *)mxGetPr(x1), (void *)x, sizeof(x)); memcpy((void *)mxGetPr(y1), (void *)y, sizeof(y)); engPutVariable(ep, "x", x1); engPutVariable(ep, "y", y1); engEvalString(ep, "plot(x,y)"); getchar(); engClose(ep);} int main(){ test();}
2、配置开发环境
(1)我的Matlab版本是32位的。选择“生成----->配置管理器”,活动平台选择Win32(64位系统选择X64)。
(2)相关库文件和头文件的配置。
通过“项目----->属性----->VC++目录”,设置:
可执行程序目录为D:\Program File\matlab2010\bin\win32(.dll库文件所在目录);
包含目录:D:\Program File\matlab2010\extern\include(头文件所在目录);
库目录:D:\Program File\matlab2010\extern\lib\win32\microsoft(.lib库文件所在目录)。
(3)包含.lib库文件
通过“项目----->属性----->链接器--->输入---->附加依赖项”;
3、编译程序与运行
- VS2010调用MatlabR2010b的图形引擎
- VS2010调用matlab2010b引擎
- vs2010 matlab混合编程调用matlab引擎
- android 的图形引擎 skia
- android 的图形引擎 skia
- android 的图形引擎 skia
- 在VS2008,VS2010,VC6.0MFC中嵌入MATLAB的command window,调用MATLAB引擎
- Tesseract-OCR引擎和VS2010工程简单调用
- 《基于VS2010调用matlab2010b引擎实现混合编程》
- VS2010调用Matlab 2010 引擎的相关设置及问题( error LNK2019: unresolved external symbol _engOpen referenced in )
- 图形引擎体系设计的一些构思
- Webkit中使用的图形引擎浅析
- android 的skia 图形引擎库
- Android 的Skia 图形引擎库
- 开源图形/游戏引擎的点评
- JFreeChart(报表图形引擎)的使用
- JFreeChart(报表图形引擎)的使用
- MiniGUI的帧缓冲、图形引擎及输入引擎
- openNLP--Sentence Detector
- js获取屏幕高度、宽度的问题
- Android避免内存溢出(Out of Memory)方法总结
- 解决Intellij Idea下修改jsp页面不自动更新
- Centos 下搭建git服务器
- VS2010调用MatlabR2010b的图形引擎
- Java复习之IO对象流
- 最大熵学习笔记(六)优缺点分析
- 原生HttpUrlConnection
- DateTimePickDialog日期选择控件
- Unity3D与Android(eclipse和AndroidStudio)交互问题
- Xcode文件名后的字母含义
- 《Opencv从入门到放弃》-- 1th 显示图像
- PostMessage(异步)和SendMessage(同步)