|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。/ a) [/ t7 x, p$ S$ C4 i, e! t
+ i2 J+ ~9 Y: R, ?' s# BMEX文件的后缀名为 .mexw32
P/ d/ Q5 S7 S6 O3 _! t: V; c9 u. O& d$ q- l2 U4 {4 m: e
MEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。
+ u1 f" _" w- O% d* x# e2 Y8 p0 z$ D5 c
需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。: d2 J4 m) g) Y9 Y' Q$ }. `+ R
: s6 \! N- k; H9 ^; d2 [
MEX文件系统设置:0 z* Y* j4 k& T9 q& `. f2 I' m
y& p1 H! _( w6 B3 V& P>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。' S( d/ d2 d {% t/ A/ P5 ~! S
" q* j* ^9 T( u) ^3 x2 jC语言MEX文件的建立
. V: n3 S4 I5 S6 g% w: t [- R* X( {6 x7 u
C语言MEX文件的建立( k6 M f+ B# I1 k. S
5 P( c( v3 }* L4 X1. MEX文件的结构4 I% j7 u% d+ z* m
4 z2 Q: b; g" g7 b# ]a) 计算子程序
# a7 f1 ]% k; d2 P" H
7 C. I( T0 b1 L$ p: T5 B& nb) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }
% a9 c0 D; k: r5 G5 O
3 R+ p0 [: t% O" `, j/ C7 i2. 创建timestwoalt.c
1 N I1 ~& U4 L' A/ d
1 t O) D8 [, t. o' K% K* k& c
# }4 H- G2 {5 u+ G
+ K" d- i, _2 V# o* c
5 F8 N9 m' L! D" b. b) W+ A( Y7 T0 M
. L z8 r4 r) `4 Q |
|