您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Matlab的API接口技术
Matlab的API接口技术目录API接口包含的内容:–MEX文件–Mat文件的读写–作为客户运行的Matlab–Matlab文件的编译方法需求:运算速度、接口技术一.C语言的设定过程设定C语言的环境:在matlab环境中或在它的目录下:mex–setuplcc是matlab安装的时候自动安装的c语言环境。二.Mex文件2.1什么是mex文件?Matlab的扩展Mex的扩展名AlphamexaxpIBMRS/6000mexrs6LinuxmexlxSolarismexsolWindowsdllDOSmex2.2用C语言编写mex文件1、mex文件的入口函数voidmexFunction(//必须叫这个名字intnlhs,mxArray*plhs[],//输出的变量intnrhs,constmxArray*prhs[])//进入的变量{}nlhsnrhs分别表示输出、输入的变量数目*plhs[]*prhs[]表示输出、输入的矩阵例如:x=fun(y,z)nlhs=1nrhs=2x=plhs[0]y=prhs[0]z=prhs[1]调用的流程图2简单的例子包含文件:#includemex.h输出错误信息并退出:mexErrMsgTxt得到矩阵的行列数mxGetM、mxGetN判断矩阵的类型:mxIsDouble、mxIsComplex生成双精度矩阵mxCreateDoubleMatrix获取矩阵的数组表达:*x=mxGetPr(plhs[0])获取矩阵的第一个数:x=mxGetScalar(plhs[0])调试:mex–gfile.c3Fortran的方法需要msfortranpowerstation接口:subroutinemexFunction(nlhs,plhs,nrhs,prhs)integerplhs(*),prhs(*)integernlhs,nrhs三、Mat文件的读写matOpen打开mat文件matClose关闭mat文件matGetDir获得mat文件中数组的列表matGetArray从mat文件中读一个数组matPutArray向mat文件中写一个数组matGetNextArray从mat文件重读下一个数组matDeleteArray从mat文件中删医数组举例–Windows下的编译方法–mex-fmatlab\bin\win32\mexopts\topts.batpathname\matcreat.c–Opts.Bat包含有:–df50engmatopts.batDIGITALVisualFortran–watengmatopts.bat,wat11engmatopts.bat,–bccengmatopts.bat,–msvc50engmatopts.bat,msvcengmatopts.bat四、控制matlab运行4.1sendkey方式–vb中有函数sendkey4.2MatlabEngine方式–engOpen开始MATLABengine–engClose关闭MATLABengine–engGetArray从MATLABengine获取一个矩阵–engPutArray向MATLABengine送一个矩阵–engEvalString执行MATLAB命令字符串–engOutputBuffer获取MATLAB文本输出举例–Windows下的编译方法(同读mat文件)–mex–fmatlab\bin\opts.batfilename.c–df50engmatopts.batDIGITALVisualFortran–watengmatopts.bat,wat11engmatopts.bat,–bccengmatopts.bat,–msvc50engmatopts.bat,msvcengmatopts.bat其它的方法•1、DDE•2、AcitveX•Matlab/regserver注册为一个ActiveX服务器•使用标准的ActiveX方法可以调用matlab的运行五、m文件编译这一部分内容在compiler工具箱中•5.1编译为mex文件•mcc-xfilename•注意:•load(file,’a’,’b’,’c’)可以•loadfile不可以•Load(file,a,b,c,d)不可以•不可以出现eval不支持的函数5.2编译为独立文件•首先:mbuild-setup•mcc–mfilename.m•需要的文件:•Application(executable)•libmmfile.dll•libmatlb.dll•libmat.dll•libmx.dll•libut.dll•libsgl.dll•转化为c语言程序:mcc–cfilename.m•在5.3.1中联结图形库•mcc–m–Bsglfiename.m六、RTW•1、加速运行•2、实时运行•Windows下面需要watcomC11•3、嵌入式运行方式•xPC工具箱可以在一张软盘上生成仿真系统
本文标题:Matlab的API接口技术
链接地址:https://www.777doc.com/doc-3186501 .html