|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。
( I: Z0 W; o3 m6 J6 ~+ W" J. R; \$ W' X
MEX文件的后缀名为 .mexw32
: E) k7 q+ K i
$ X# y; G- ^# X/ X: oMEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。* O& z& E; m5 Q# [, j! F* N
' @; M! J/ h# B/ W5 E
需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。; _; [' p, p" u; q5 Q' X% S) v8 ?
5 B* b& {" N. }* TMEX文件系统设置:
4 `3 F5 Q: s- b# t/ B$ B3 j: D3 h, t8 \0 M
>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。; s) W0 K. t: y! s6 g8 Y
4 R* b/ `, Y" v1 A4 ] D
C语言MEX文件的建立
$ @. O Z1 b+ C3 Y( s3 w# K" {9 {& {: H- P
C语言MEX文件的建立
" {$ u3 s1 v g& G2 @6 A! ^) Y' l' J0 I" c& G1 Y C
1. MEX文件的结构# l- Y* l0 `, B, R3 P. b; M8 }
( T4 _! _ Z9 M' ?" X u
a) 计算子程序
- r( |; l0 Y% F5 W- _7 [4 p# w# ~, m1 z
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }
% V w7 I; e! W: y: L* I& [
1 b% D) ?4 ~) k( W) k2. 创建timestwoalt.c; _% q. ^% \' Z, _3 u# K* p
! j7 y; E5 H3 G+ M7 m2 M3 F( H! Y; r
1 R, }. x% {$ K0 A4 ?; _5 N0 `7 m6 a
7 a. f" t& F4 u L
# w4 l2 c% X! q0 o |
|