|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。7 j* {1 C7 u7 B1 [$ w
# b3 k) S+ k7 n* C! R r
MEX文件的后缀名为 .mexw329 D: T9 A) T4 @6 I/ o6 G0 B( k9 V
5 y8 l& q( n1 ]9 Q- [MEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。# _& S1 t8 {) d% `/ r
" ?7 O- ^8 m: T* B( X% p% m) {
需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。% q0 U" c B' H: U! \, h+ q
1 U! y/ ^1 J. G6 g5 J- lMEX文件系统设置:
2 I, E0 J; x' I8 `/ r
$ W: L* ]$ f& w2 g) N* {>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。& r* g2 [- E/ H- z! p2 e
8 U6 D8 d7 s# F+ }2 N" l/ Q
C语言MEX文件的建立0 m% v: c$ q/ W, Z1 d$ K! n
) q/ K/ K1 m4 u! R3 P. U
C语言MEX文件的建立
+ ?( U9 ]0 s1 _+ q: k1 k' M1 H0 P; e+ Z& q( r1 T" @( U! H
1. MEX文件的结构" O2 [/ q, X, }# {' I1 F Z
1 o- B2 ?! d5 o+ Y- O! Ba) 计算子程序
+ E8 f y* Z$ A' w/ K- @- f: i4 J" _5 Y. d; G
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }
+ J' _+ {# {) a- d/ e
& T+ j: K/ C6 q) \, p8 a; m5 P2. 创建timestwoalt.c
4 d$ }7 h$ u) ?1 `
) S0 B4 ~0 J/ \/ O3 n s! j6 W; D' v- T& t$ i/ |
9 v1 }9 M! E' O9 `: b7 u+ `. v
$ s' W9 f& E z! U. ~, C. d+ A2 {
. W0 s1 M: u( ]' B. V |
|