计算机软件及应用matlab5程序设计课件.ppt

计算机软件及应用matlab5程序设计课件.ppt

ID:57167310

大小:976.50 KB

页数:46页

时间:2020-08-02

计算机软件及应用matlab5程序设计课件.ppt_第1页
计算机软件及应用matlab5程序设计课件.ppt_第2页
计算机软件及应用matlab5程序设计课件.ppt_第3页
计算机软件及应用matlab5程序设计课件.ppt_第4页
计算机软件及应用matlab5程序设计课件.ppt_第5页
资源描述:

《计算机软件及应用matlab5程序设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB作为一种高级语言,它不仅能以一种人机交互式的命令行的方式工作,还可以像BASIC、FORTRAN、C等其他高级计算机语言一样进行控制流的程序设计,即编制一种以.m为扩展名的MATLAB程序(简称M文件)。2021/9/301Matlab语言的开放性:Matlab适应各学科、专业研究的需要,提供了各种专业的工具箱。Matlab为实现与外部应用程序的“无缝”结合,提供了专门的应用程序接口API。七、应用程序接口API2021/9/302Matlab外部接口主要包括:MEX文件,外部程序调用接口;M

2、AT文件,应用程序,数据输入输出接口;Matlab计算引擎函数库;Matlab与其它开发平台的接口,VisualC++、VisualBasic、Delphi、Powerpoint等等。2021/9/303MEX文件可应用于以下场合:已经存在的较大规模的C或Fortran程序可以比较容易的在matlab中加以调用,而无需重写成M文件。在matlab中运行不很有效的计算瓶颈(一般出现在不可避免的循环时),可以用C或Fortran重新编写后构成MEX文件解决。直接面向硬件编写的C或Fortran程序可以通过ME

3、X被matlab调用。1、MEX文件2021/9/304MEX文件是一种可在matlab中调用的C或Fortran语言的衍生程序,MEX文件的源码文件是由C或Fortran语言编写的。MEX文件经matlab编译器处理而生成二进制文件,可以被matlab解释器自动装载并执行的动态链接程序。这种文件在windows操作系统中使用后缀*.DLL。MEX文件使用极为方便,其调用方式与matlab内建函数完全相同,在命令窗口键入>>MEX文件名。MEX文件的执行优先级高于M文件。MEX文件2021/9/305ME

4、X文件的编译系统配置完成后,就可以使用命令对文件进行编译了。MEXfilenames同时Matlab系统为mex提供了参数,通过该命令参数可以让用户使用不同的选项文件对源文件进行编译,命令格式如下:Mexoptionsfilenames使用helpmex查看。2021/9/306helpmexMEXCompileMEX-function.MEX[option1...optionN]sourcefile1[...sourcefileN][objectfile1...objectfileN][libraryf

5、ile1...libraryfileN]Description:MEXcompilesandlinkssourcefilesintoasharedlibrarycalledaMEX-file,executablefromwithinMATLAB.Theresultingfilehasaplatform-dependentextension,asshowninthetablebelow:solaris-.mexsolhpux-.mexhpuxglnx86-.mexglxglnxi64-.mexi64MacO

6、SX-.mexmacWindows-.dll2021/9/3072、CMEX文件源程序的构成一般形式的C源码程序不能直接被编译成在matlab中可以调用的MEX文件,只有按约定格式编写的C源码文件才能转化为有效的MEX文件。C语言MEX文件必须以#include“mex.h”为起首。C语言MEX文件一般有如下两个相对独立的子程序组成:“计算子程序”用于完成所需的计算;“接口子程序”是计算子程序和matlab空间的接口,用于两个不同内存空间的通信。“计算子程序”和“接口子程序”相对独立,它们可以分成两个程序

7、,也可以共写在同一个程序中。2021/9/308列出具有实现两个双精度实数标量加法的C++MEX源码程序;对C++MEX源码程序进行编译链接;在MATLAB中调用生成的DLL文件。“计算子程序”#include"mex.h"voidmyplus(doubley[],doublex[],doublez[]){y[0]=x[0]+z[0];}2021/9/309“接口子程序”voidmexFunction(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs[]){

8、double*x,*y,*z;intmrows0,ncols0;intmrows1,ncols1;……………}2021/9/3010mexexm.cppa=0.111;b=0.222;c=exm(a,b)c=0.33302021/9/30113、matlab引擎技术Matlab引擎库函数可使用户在自编的应用程序中方便地实现对matlab的调用。用户自编的界面运行在前台,而matlab作为计算引擎运行在后台。引擎函数本身用C或F

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。