|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。
2 C% d o" G" @" L6 q2 m! f
$ E e1 t5 \- W' a3 i7 S: EMEX文件的后缀名为 .mexw32
- r; ~# t7 o2 W) E/ X
. ^! C# q0 F3 [3 Q" X3 L3 _ @MEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。
, W: `6 D; L$ _6 t0 s
* T& A( ?7 E1 O需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。
/ |) T4 z! k4 M2 m& C- b% Q! s, o
- @/ w8 D t) U# U9 kMEX文件系统设置:9 m7 z- f2 C% i, K
4 R" I6 h o' w>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。4 O5 g# F$ x8 n4 B! Q
+ E8 Y: U6 i, W4 xC语言MEX文件的建立
+ g0 b! O' l" B8 S9 F3 n7 S1 `- {, |3 ^+ w
C语言MEX文件的建立4 `0 E5 }" X' f1 ?6 O" Z1 h, F
& J* \* m/ k2 n/ o( }1. MEX文件的结构# m0 E3 M( o) ?; m
8 t/ r% Z6 M3 c1 B6 L
a) 计算子程序& p: n- c8 K' Y! T: k
1 N2 @1 S2 a* L# b
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }% I7 {& F. C9 H U+ w: J3 {
9 E7 X# v, d9 d# z2. 创建timestwoalt.c6 Q& X4 k8 c4 h7 z7 B' \; v; r2 z
/ g; R0 n R D: `! s
& x# s: V: ~6 ]$ p2 e
$ S+ @/ t( n5 r9 q7 W% v% f
2 C" m& b6 P$ l Y# h' F0 d+ {; s3 s' d( o
|
|