文档介绍:计算机软件及应用matlab5程序设计
MATLAB作为一种高级语言,它不仅能以一种人机交互式的命令行的方式工作,还可以像BASIC、FORTRAN、C等其他高级计算机语言一样进行控制流的程序设计,即编制一种以 . m为扩展名的MATLAB程序(简称M
计算机软件及应用matlab5程序设计
2021/10/12
2
Matlab语言的开放性:
Matlab适应各学科、专业研究的需要,提供了各种专业的工具箱。
Matlab为实现与外部应用程序的“无缝”结合,提供了专门的应用程序接口API。
七、应用程序接口API
计算机软件及应用matlab5程序设计
2021/10/12
3
Matlab外部接口主要包括:
MEX文件,外部程序调用接口;
MAT文件,应用程序,数据输入输出接口;
Matlab计算引擎函数库;
Matlab与其它开发平台的接口,Visual C++、Visual Basic、Delphi、Powerpoint等等。
计算机软件及应用matlab5程序设计
2021/10/12
4
MEX文件可应用于以下场合:
已经存在的较大规模的C或Fortran程序可以比较容易的在matlab中加以调用,而无需重写成M文件。
在matlab中运行不很有效的计算瓶颈(一般出现在不可避免的循环时),可以用C或Fortran重新编写后构成MEX文件解决。
直接面向硬件编写的C或Fortran程序可以通过MEX被matlab调用。
1、MEX文件
计算机软件及应用matlab5程序设计
2021/10/12
5
MEX文件是一种可在matlab中调用的C或Fortran语言的衍生程序, MEX文件的源码文件是由C或Fortran语言编写的。
MEX文件经matlab编译器处理而生成二进制文件,可以被matlab解释器自动装载并执行的动态链接程序。这种文件在windows操作系统中使用后缀*.DLL。
MEX文件使用极为方便,其调用方式与matlab内建函数完全相同,在命令窗口键入>>MEX 文件名。
MEX文件的执行优先级高于M文件。
MEX文件
计算机软件及应用matlab5程序设计
2021/10/12
6
MEX文件的编译
系统配置完成后,就可以使用命令对文件进行编译了。
MEX
同时Matlab系统为mex提供了参数,通过该命令参数可以让用户使用不同的选项文件对源文件进行编译,命令格式如下:
Mex options
使用help mex查看。
计算机软件及应用matlab5程序设计
2021/10/12
7
help mex
MEX Compile MEX-function.
MEX [option1 ... optionN] sourcefile1 [... sourcefileN]
[objectfile1 ... objectfileN] [libraryfile1 ... libraryfileN]
Description:
MEX compiles and links source files into a shared library called a
MEX-file, executable from within MATLAB. The resulting a
platform-dependent extension, as shown in the table below:
solaris - .mexsol
hpux - .mexhpux
glnx86 - .mexglx
glnxi64 - .mexi64
Mac OS X - .mexmac
Windows - .dll
计算机软件及应用matlab5程序设计
2021/10/12
8
2、C MEX文件源程序的构成
一般形式的C源码程序不能直接被编译成在matlab中可以调用的MEX文件,只有按约定格式编写的C源码文件才能转化为有效的MEX文件。
C语言MEX文件必须以#include “”为起首。
C语言MEX文件一般有如下两个相对独立的子程序组成:“计算子程序”用于完成所需的计算;“接口子程序”是计算子程序和matlab空间的接口,用于两个不同内存空间的通信。
“计算子程序”和“接口子程序”相对独立,它们可以分成两个程序,