mex⽂件⽣成c语⾔,⽤C语⾔编写MEX⽂件.doc
⽤C语⾔编写MEX⽂件⽤C语⾔编写MEX⽂件
⽤C语⾔编写MEX⽂件1.1 为什么要⽤C语⾔编写MEX⽂件MATLAB是矩阵语⾔,是为向量和矩阵操作设计的,⼀般来说,如果运算可以⽤向量或矩阵实现,其运算速度是⾮常快的。但若运算中涉及到⼤量的循环处理,MATLAB的速度的令⼈难以忍受的。解决⽅法之⼀为,当必须使⽤for循环时,把它写为MEX⽂件,这样不必在每次运⾏循环中的语句时MATLAB都对它们进⾏解释。1.2 编译器的安装与配置要使⽤MATLAB编译器,⽤户计算机上应⽤事先安装与MATLAB适配的以下任何⼀种ANSI C/C++编译器:5.0、6.0版的MicroSoft Visual C++(MSVC)5.0、5.2、5.3、5.4、5.5版的Borland C++LCC(由MATLAB⾃带,只能⽤来产⽣MEX⽂件)下⾯是安装与配置MATLAB编译器应⽤程序MEX的设置的步骤:(1)在MATLAB命令窗⼝中运⾏mex –setup,出现下列提⽰:Please choose your compiler for building external interface (MEX) files: Would you like mex to locate installed compilers [y]/n?(2)选择
y,MATLAB将⾃动搜索计算机上已安装的外部编译器的类型、版本及所在路径,并列出来让⽤户选择:Select a compiler: [1] Borland C++Builder version 6.0 in C:\Program Files\Borland [2] Digital Visual Fortran version 6.0 in C:\Program Files\Microsoft Visual Studio [3] Lcc C version 2.4 in D:\MATLAB6P5P1\sys\lcc [4] Microsoft Visual C/C++ version 6.0 in C:\Program Files\Microsoft Visual St
手机上的c语言编译器怎么用udio [0] None Compiler:(3)选择其中⼀种(在这⾥选择了3),MATLAB让⽤户进⾏确认:Please verify your choices: Compiler: Lcc C 2.4 Location: D:\MATLAB6P5P1\sys\lcc Are these correct?([y]/n):(4)选择y,结束MATLAB编译器的配置。1.3 ⼀个简单的MEX⽂件例⼦【例1】⽤m⽂件建⽴⼀个1000×1000的Hilbert矩阵。ticm=1000;n=1000;a=zeros(m,n);for
i=1:1000???? for j=1:1000???????? a(i,j)=1/(i+j);???? endendtocelapsed_time =???? 0.1100????在记事本中输⼊以下程序:[Matlab_1.cpp]#include "mex.h"//计算过程void hilb(double *y,int n){??????? int i,j;??????? for(i=0;i