教学材料《MATLABR教程》_第九章.pptxVIP

  • 0
  • 0
  • 约5.18千字
  • 约 21页
  • 2026-02-04 发布于广东
  • 举报

教学材料《MATLABR教程》_第九章.pptx

9.1MATLAB与外部数据和程序交互组件

9.1.1 应用程序接口介绍MATLAB与外部数据和程序的交互是指:在MATLAB中调用其他语言编写的代码:在其他语言里调用MATLAB代码。通过与其他编程的交互,可以扩充MATLAB强大的数值计算和图形显示功能,且可避开其执行效率较低的缺点。特别是当使用MATLAB进行大规模循环数据处理时,系统执行速度慢,降低了效率,此时可使用其他高级编程语言进行算法设计,然后在MATLAB中调用,这能大大提高数据处理效率。例如,将MATLAB与C语言的联合编程,既可发挥C语言速度快的优势,又可利用MATLAB的矩阵运算和绘图功能。目前,MATLABCompiler能将M函数转换成CC++代码目前版本不能对脚本m文件进行转换),通过使用MATLAB提供的外部程序接口API来完成与其他语句的调用。下一页返回

9.1MATLAB与外部数据和程序交互组件

C语言调用MATLAB语言是通过MATLAB引擎执行代码,并最终获得执行结果。使用C语言创建MATLAB引擎时,通过头文件enginh以及动态链接库文件来配置相关环境即可。另一种调用方案是将m文件编译成动态链接库dll文件,但程序运行时仍需要MATLABCompilerRuntime(MCR是MATLAB的一个编译器环境,该编译器运行时包含一套组件和库)的支持。上一页下一页返回

9.1MATLAB与外部数据和程序交互组件

9.1.2 交互文件1外部程序MEX文件MEX(MATLABExecutable)是MATLAB调用其他语言编写的程序或算法接口,MATLAB解释器能自动加载和运行该文件,就像调用内部函数一样在程序中直接调用,将用户开发的C或Fortran子程序编译成MEX文件,以便在MATLAB环境中直接调用或链接这些子程序,将算法用在m文件中。通过MEX文件也可直接对硬件进行编程,完成与MATLAB的算法交互。MEX文件的具体应用如下:(1)对于某些已经存储的C或Fortran子程序,可以通过MEX方式在MATLAB环境中直接调用,而不必重新编写相应的m文件。上一页下一页返回

9.1MATLAB与外部数据和程序交互组件

(2)对于影响MATLAB执行速度的for、while等循环,可以编写相应的C、Fortran子程序来完成相同的功能,并编译成MEX文件,从而提高运行速度。(3)对于一些需要访问硬件的底层操作(如A/D、D/A或中断等),可以通过MEX文件直接访问,克服MATLAB对硬件访问功能不足的缺点,从而增强MATLAB应用程序的功能。上一页下一页返回

9.1MATLAB与外部数据和程序交互组件

2数据输入输出接口mat文件mat文件是MATLAB数据存储默认的存储文件格式,MATLAB文件与其他编程环境的数据交换是通过mat文件来实现的。以mat为扩展名的文件是以二进制形式存储的标准格式,它由文件头和数据变量组成。文件头包括版本信息、操作平台信息和文件创建时间,是一个文本文件,可用任意文本编辑器打开查看。数据变量类型包括字符串、矩阵、数组、结构和单元阵列,它以字节流的方式顺序地将数据写入mat文件中保存,可直接用save命令存储为mat文件。使用时,用load命令把保存的mat文件数据读取到内存中即可。上一页下一页返回

9.1MATLAB与外部数据和程序交互组件

3计算引擎函数库MATLAB引擎函数库是系统提供的与其他语言程序交互的函数库,相当于MATLAB提供的一组接口函数,它允许在本系统中调用,并作为一个计算引擎使用,用户可在自己的应用程序中对MATLAB函数进行调用,使其在后台运行,完成复杂的矩阵计算,简化前台用户程序设计的任务。前台客户机可以采用诸如VisualC++之类的通用编程平台,通过Win ̄dows操作系统的动态控件与服务器MATLAB通信,向MATLABEngine传递命令和数据信息,并从MATLABEngine接收数据信息,完成较复杂的数值计算、分析和可视化任务。上一页下一页返回

9.1MATLAB与外部数据和程序交互组件

工作时,不需要MATLAB完全与程序相连,只需要一小部分引擎函数库相连即可,在用户启动MATLAB引擎时,通过引擎函数库中提供的函数完成启动和终止MATLAB进程、传

文档评论(0)

1亿VIP精品文档

相关文档