|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。) O2 B/ R5 [) z0 h
0 ~8 H6 B8 E3 r+ G' b4 A z2 g
MEX文件的后缀名为 .mexw32' O) q% ^! ?+ B X( Z& a$ a
2 J [/ c T( V- [: S
MEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。
/ K% e7 G' Z. u: \$ A9 h- b- L+ Y1 F
需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。, d! d8 }) K+ i& N9 {* `
0 L2 u7 o* ~4 Y5 [' ^4 T% H
MEX文件系统设置:
3 Q- b4 X" V0 ^6 K
3 l" w- ~! d! }* V1 `: j6 a# x>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。
" l, g4 X; O& p) `2 p% }% N/ E" n/ g* J
C语言MEX文件的建立
( S3 n0 S: P8 G) d7 g) E" L/ |7 ^( ^" I' i5 {
C语言MEX文件的建立+ H/ [! W9 ?5 d$ d
( L* H( A2 q9 j8 g. Q1. MEX文件的结构
+ ^1 g* @! Y; ^/ B7 L1 d! \9 F" v2 _- n& G: D
a) 计算子程序" h5 P7 ~9 i$ z* I7 u* @2 _
/ g8 k" x4 Q1 M
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }
$ N( b9 d5 f! V$ Z# v8 F' }1 {; ?' k' W% j7 {
2. 创建timestwoalt.c0 |* x$ m. b1 }' ~
w) \: U' Z! E! t" H* c4 u: U' r+ H7 i3 M; \
* p" d; O" g& N4 ]
5 i% F0 g! o& h* L. y7 P$ H
/ F" I3 o+ o) K) Q1 ^$ W |
|