您的位置:首页 > 编程语言 > MATLAB

vs2010 matlab混合编程调用matlab引擎

2014-08-05 20:28 435 查看
// matlab_engine.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include "engine.h"
#include "windows.h"

#pragma comment(lib, "libeng.lib")
#pragma comment(lib, "libmx.lib")
#pragma comment(lib, "libmat.lib")

void main()
{
Engine* pEng = NULL;
if (!(pEng = engOpen(NULL)))
{
printf("Open matlab enging fail!");
return;
}

//call Engine plot A*sin(t)+B A=2 B=1

mxArray *A = NULL;

double init = 2;
A = mxCreateDoubleMatrix(1, 1, mxREAL);
memcpy((void*) mxGetPr(A), (void*)&init, sizeof (double));
engPutVariable(pEng, "A", A);

init = 1;
memcpy((void*) mxGetPr(A), (void*)&init, sizeof (double));
engPutVariable(pEng, "B", A);

mxDestroyArray(A);

Sleep(3*60*1000);

engEvalString(pEng, "t=0:0.2:7;plot(t,A*sin(t)+B);");

if(NULL != pEng)
{
engClose(pEng);
}

//return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: