|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。
7 E2 G' v6 H7 ^, J6 |- V$ s7 R- ~8 Z. c+ `% \
MEX文件的后缀名为 .mexw32$ F( U8 p Q, D) `. G! \
7 }8 ]& u7 O- k. N4 \+ j
MEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。
0 I( f+ C( u# ~2 W. r, ^% q& D6 |
4 K" S: M6 S; [. A3 R7 g# o! @4 C8 `需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。% l% O& @; D5 L
, G7 A2 G" S/ UMEX文件系统设置:
6 O, [! j6 f, x* i. f/ T4 r% F- T* H7 Z' J3 {! K6 [6 g
>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。. l& H1 y2 q) ^9 B
% P$ }* W" Y6 o5 V/ w
C语言MEX文件的建立
8 K% W8 v$ g) P0 B4 z4 {2 O4 T/ @# H- J$ A N0 J9 F: D: x
C语言MEX文件的建立
" ^" y0 ~, X: y2 O/ W7 \
1 C0 c$ { d( ]. \$ J7 J( C V ~1. MEX文件的结构
- I# r$ q) g2 o3 i/ g$ j- ~
+ T% M( Q* e! N' u" U% o% c7 na) 计算子程序
, z9 J5 L# P8 |) j# J- s& A) l8 V J' X- Z6 I4 g" M e# f, I
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }
" J s2 r" `, E. v: d! i6 b
( j4 ^/ F4 A+ ~; w$ T2. 创建timestwoalt.c0 \( D! {, G) D }4 f. ]
- i7 V- G8 i4 C1 n( `9 `. H0 d' A4 ?8 U
/ J y( A* p5 S3 v, j$ O. a6 s& n* J( V" u: ^) e% F
$ s1 e" S$ E% L( t/ s& T4 Z9 ] |
|