|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。# P9 @7 P1 l3 u$ {- T
1 ]2 A4 |; ~7 [, E* E8 NMEX文件的后缀名为 .mexw32% i+ `, Q: U5 M+ N: \2 \, g& Q
- Q8 F& T4 G1 @' G$ DMEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。. Q" e' [1 T, o
7 c( K0 n5 Z" ?需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。
h Y0 X. R& K) O/ E3 x
' ~; }4 D4 C- I0 @MEX文件系统设置:% ^7 R6 T7 k0 K# M
; [; K. K( B$ F, z2 L5 g/ x j>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。1 p+ {" J. e3 ^' c& ~
) @+ w+ U' E% a& S7 G0 K8 N/ cC语言MEX文件的建立5 s0 G5 O9 Q! f6 Z9 z7 a# r
7 Q# r8 G" |& R! k9 i0 Z! |
C语言MEX文件的建立/ ?" F2 \* c; S6 }
' U, k" p/ o' t
1. MEX文件的结构, ]+ z! @) H% n/ j
0 }8 d" t/ ~0 R( T* q# r
a) 计算子程序
& g8 R) m4 W0 o' e+ d. m$ Z4 g' w3 x' y9 U3 G& F6 g& ?8 g
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }
' Y! Y8 H9 H p) T7 F d5 ?: m% e1 [2 y% e% ~; E
2. 创建timestwoalt.c" Y0 R- f {0 g! ~ x9 I
( \/ u4 n' q) N
2 Y8 e4 t% ` C$ d( h+ t) H: C
+ o: E9 E. Q/ v1 p) s+ @) G2 J
8 A2 Q+ \- }: J4 F- n& e
3 n: H8 |+ n& p" p
|
|