|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。7 n' h% F/ T% g4 R/ D( `* H* O
0 T" Z( ~: R5 P; uMEX文件的后缀名为 .mexw32
0 T- M" u% O; O: m* {: y- x) Y) ^7 c7 i
MEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。/ X! C9 Z. |' b2 D% R0 Y3 ~
; q# D, g: c+ _! y3 j2 u* U需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。' [" b& t; `& {" t
! V6 x/ v. r$ p& X) T! q/ ~MEX文件系统设置:
_& \8 n5 a" i7 t* O3 P9 e/ r, ]
>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。& ]9 \0 E( [/ W* U% y- N
8 P6 u1 V. E" U/ s
C语言MEX文件的建立
# i( @ w' [/ S2 ^% T$ y' f
, P, R* }/ S! _6 @# W0 v3 N' L( i. e* pC语言MEX文件的建立
; I) n9 w& [4 i; x9 Z9 p+ b
5 m% ]7 B+ @& f8 t8 S0 d9 _( N1. MEX文件的结构
6 S: g4 i( ]$ M0 u% Z" q& O b0 E5 ]- m) v' D
a) 计算子程序7 V# f, x7 Y/ }( Z' @4 o
3 S3 A. m! U: Q- l# b% M! x
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }" E1 l: ^/ O* N; U
% w# L( X9 \8 L5 U( J# d2. 创建timestwoalt.c
9 f1 T! ] ?( ^. v5 x+ \ J3 L* r2 X' F7 \( L( v7 o3 l
) G7 o3 i' I. x6 f+ w @' v1 A+ p3 v
2 b6 i5 A3 {: ?# s+ v% Q7 l; \; s
: b/ p6 n5 l% v% `# p7 W5 S4 ?4 _) @- u9 N
|
|