• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

vc调用matlab引擎的一个简单例子

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
vc调用matlab引擎的一个简单例子

我按如下步骤在vc中使用matlab引擎:
(1)。启动vc6。0,建立一个mfc(exe)类型工程matlabengine。
(2)。在项目建立后,设置环境。
Tool->options->Diretories 页面下Show directories for
先选择Include Files,输入路径:D:\PROGRAMS\MATLAB6P5P1\EXTERN\INCLUDE
在选择Library Files,输入路径:D:\PROGRAMS\MATLAB6P5P1\EXTERN\LIB\WIN32\MICROSOFT\MSVC60
(我的matlab根目录是 D:\PROGRAMS\MATLAB6P5P1\ ;这里的设置对不同工程只需要一次)
(3)。打开Project->Settings->Link页面,在Object/Library modules
中加入libmatlb.lib libeng.lib libmx.lib。(这里对每个工程都要设置,并且根据需要选不同的库)
(4)  在工程目录的view的头文件中加入
##include "engine.h"

(5) 在about 对话框加入一个按钮,在其按钮响应函数如下:
void CAboutDlg::OnButton1()
{
       Engine *ep;
       double t[1];
     
               t[0]=6.28;
       mxArray *T=NULL;

       if(!(ep=engOpen(NULL)))
       {
               AfxMessageBox("Can not open the matlab engine!");
               exit(-1);
       }

       T=mxCreateDoubleMatrix(1,1,mxREAL);
       memcpy((char*)mxGetPr(T),(char*)t,1*sizeof(double));

       engPutVariable(ep,"T",T);

       engEvalString(ep,"T1=0:pi/48:T;");
       engEvalString(ep,"D=sin(T1)");
       engEvalString(ep,"plot(T1,D,'r-');");

       engEvalString(ep,"xlabel('t‘);");
       engEvalString(ep,"ylabel('sin(t)');");
       engEvalString(ep,"title('sin(x)的图像');");
   

       mxDestroyArray(T);
       
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi判断进程是否存在(使用CreateToolhelp32Snapshot)发布时间:2022-07-18
下一篇:
delphi的构造函数和析构函数发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap