matlab外部接口应用

1.基于C/C++语言的MEX文件

MEX从字面上是MATLAB和Executable 两个单词的缩写。

.MEX文件是一种可在matlab环境中调用的C(或fortran)语言衍生程序,MEX文件的后缀名按32位/64位分别为 .mexw32/.mexw64。MEX文件是由C或Fortran语言编写的源代码,经matlab编译器处理而生成的二进制文件。它是可以被matlab解释器自动装载并执行的动态链接程序,类似windows下的dll文件。

1)计算功能子程序mex_calcMul.cpp

include"mex.h"

int array_data(int a,int b)
{
    int c;
    c = a * b;
    return c;
}

//入口子程序mexFunction
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
    int a = 3,b = 2,arrayvalue;
    arrayvalue = array_data(a,b);
    mexPrintf("乘积值 = %d\n",arrayvalue);
}

2)matlab命令行窗口

>>clear all

>> mex  mex_calcMul.cpp

回车,生成mex_calcMul.mexw64文件

>>y = mex_calcMul   

调用mex_calcMul

 

2.C++读取MAT文件

1)打开VS2010,新建一个Win32控制台程序wgc_mat_read

2)在解决方案资源管理器中单击源文件,输入程序代码;

需要包含:

#include"mat.h"

#progma comment(lib,"libmat.lib")

#progma comment(lib,"libmx.lib")

#progma comment(lib,"libmex.lib")

#progma comment(lib,"libeng.lib")

 

3)配置VS2010:若操作系统为64位,在VS2010工具栏中选择Debug|Win32->配置管理器,在新弹出的对话框中“”键入或选择新平台“”项中选择x64确定;

4)项目属性中:设置包含目录D:\ProgramFiles\MATLAB\R2017b\extern\include

                           设置库目录D:\ProgramFiles\MATLAB\R2017b\extern\lib\win64\microsoft

5)设置环境变量:D:\ProgramFiles\MATLAB\R2017b\bin;

                               D:\ProgramFiles\MATLAB\R2017b\bin\win64  (libmat.dll)

6)重启电脑

7)对项目进行编译。在DOS窗口条件下运行编译后的可执行文件wgc_mat_read.exe。

你可能感兴趣的:(Matlab)