|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通过MEX文件可以在MATLAB中像调用内嵌函数一样调用现有的使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能解决MATLAB循环效率低的缺点,提高MATLAB环境中数据处理的效率。" M ?1 a7 u" t2 i. ?: L
5 t8 {1 a2 ^4 a4 [! m
MEX文件的后缀名为 .mexw32
1 m4 e0 O& y* R2 t. t5 \ O, s2 r, d
MEX文件的编写和编译需要两个基本条件:一是必须按照MATLAB应用程序接口组件和相关工具,二是要有C语言或Fortran语言的编译器。
3 a1 C2 L" m; N& k4 `0 n" |. z6 ]# k' N- b% ^% M
需要对MATLAB系统进行设置,使MATLAB系统知道使用系统的哪一个C语言编译器,以及其参数和路径。1 [) i4 |- J* w) a
+ A; F+ Z. G3 h1 a, JMEX文件系统设置:
1 F( ` i8 y+ ]8 d$ B" B0 \; ~$ f# L" J; d) i2 _
>> mex –setup 按照提示进行,最后出现Done…系统配置完毕。' ?7 ?9 e9 r% j# D" T9 Z8 L
5 [+ d1 N! b3 A0 O, T, b8 ?0 D- t2 ~C语言MEX文件的建立
* {' F; W7 k* {$ l# S3 Q; j5 j; l3 X0 [) Q/ F/ d' H0 D9 U$ B
C语言MEX文件的建立
1 [' H% T( M" f( ?
% T7 ]) A7 H9 |2 `7 Q1. MEX文件的结构+ L+ q) v% i+ a6 S" G. a
4 \. f& B: ~' ?
a) 计算子程序' U/ {8 G2 ~9 }. P3 R) {( ?
" p3 k( s* Y' Q, l
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]) { /*用户特定的代码….*/ }
9 R; o- a( S- X: |- l0 q/ c/ i* @% B+ ~. v6 _+ V8 h
2. 创建timestwoalt.c/ |$ ~8 o m( [; ]
. ~/ n# |; u6 ?. C% G' z3 q7 v7 ~* q
/ k( p: X V0 e7 e: E6 {5 |" ?: x8 F/ D$ N
, F& f |8 b1 P! D l l |
|