电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

matlab引擎VIP免费

matlab引擎_第1页
1/11
matlab引擎_第2页
2/11
matlab引擎_第3页
3/11
1、库文件配置(1)“工具-选项-目录-Includefiles”中添加(注:这里的Matlab安装目录为C:\MATLAB6P5\)(图1)C:\MATLAB6P5\EXTERN\INCLUDEC:\MATLAB6P5\EXTERN\INCLUDE\CPP(2)“工具-选项-目录-Libraryfiles”中添加(图2)C:\MATLAB6P5\BINC:\MATLAB6P5\BIN\WIN32C:\MATLAB6P5\EXTERN\LIBC:\MATLAB6P5\EXTERN\LIB\WIN32\MICROSOFT\MSVC60(3)“工程-设置-Link-对象/库模块”中加入(图3)C:\MATLAB6P5\extern\lib\win32\microsoft\msvc60中所有的Lib文件如下:libeng.liblibfixedpoint.liblibmat.liblibmatlb.liblibmatlbmx.liblibmex.liblibmmfile.liblibmwarpack.liblibmwlapack.liblibmwmcl.liblibmwrefblas.liblibmwservices.liblibmwsglm.liblibmx.liblibut.libmclcommain.libmclxlmain.libsgl.lib2、头文件配置#include"C:\MATLAB6p5\extern\include\engine.h"3、编码VC向Matalb传送绘图数据,Matlab传回相关计算数据。(图4)(注:Matlab传回的二维数组存储为以列为主序的一维数组)voidCXXXDlg::OnBUTTONTrain(){CStringcurPath;Engine*ep;mxArray*T=NULL,*D=NULL;doublet[10]={0,1,2,3,4,5,6,7,8,9};//engOpenif(!(ep=engOpen(NULL))){AfxMessageBox("Can'tstartMATLABengine");return;}//engPutVariable[mxCreateDoubleMatrix,mxDestroyArray]T=mxCreateDoubleMatrix(1,10,mxREAL);memcpy((void*)mxGetPr(T),(void*)t,sizeof(t));engPutVariable(ep,"T",T);engEvalString(ep,"D=.5.*(-9.8).*T.^2;");engEvalString(ep,"figure;");engEvalString(ep,"line(T,D,'Color',[0,0.5,1],'Marker','s','MarkerFaceColor',[110]);");engEvalString(ep,"title('Positionvs.Timeforafallingobject');");engEvalString(ep,"xlabel('Time(seconds)');");engEvalString(ep,"ylabel('Position(meters)');");engEvalString(ep,"gridon;");mxDestroyArray(T);//engGetVariableengEvalString(ep,"K=(1:length(D))';D=[K,D',sin(K)]");D=engGetVariable(ep,"D");double*dReal;dReal=mxGetPr(D);CStrings,sTmp;intm,n;m=mxGetM(D);n=mxGetN(D);s.Format("(m,n)=(%d,%d)\r\n",m,n);for(inti=0;i<m;i++){//pleasechange<for(intj=0;j<n;j++){//pleasechange<sTmp.Format("%5.11f",dReal[j*m+i]);while(sTmp.GetLength()<17){sTmp=""+sTmp;}s=s+sTmp+"";}s=s+"\r\n";}s=s+"\r\n";this->SetDlgItemText(IDC_EDIT1,s);mxDestroyArray(D);//engCloseAfxMessageBox("Pressentertocloseengine");engClose(ep);}VC++与Matlab混合编程之引擎操作详解2006-03-2214:27作者:杜鸿飞出处:天极开发责任编辑:>方舟VisualC++是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快。但在科学计算方面函数库显得不够丰富、读取、显示数据图形不方便。Matlab是一款将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,适合科学研究、工程设计等众多学科领域使用的一种简洁、高效的编程工具。不过由于Matlab使用的是解释性语言,大大限制了它的执行速度和应用场合。基于VC和Matlab混合编程是很多熟悉VC++编程而又需要进行科学计算、数据仿真的科研人员常用的一种方式,其中最简单也最直接的方法就是调用Matlab引擎。本文以下部分将详细介绍通过VC++6.0调用Matlab6.5引擎来达到VC++与Matlab数据共享编程的方法。1.什么是Matlab引擎所谓Matlab引擎(engine),是指一组Matlab提供的接口函数,支持C/C++、Fortran等语言,通过这些接口函数,用户可以在其它编程环境中实现对Matlab的控制。可以主要功能有:★打开/关闭一个Matlab对话;★向Matlab环境发送命令字符串;★从Matlab环境中读取数据;★向Matlab环境中写入数据。与其它各种接口相比,引擎所提供的Matlab功能支持是最全面的。通过引擎方式,应用程序会打开一个新的Matlab进程,可以控制它完成任何计算和绘图操作。对所有的数据结构提供100%的支持。同时,引擎方式打开的Matlab进程会在任务栏显示自己的图标,打开该窗口,可以观察主程序通过engine方式控制Matlab运行的流程,并可在其中输入任何Matlab命令。实...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部