- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab70使用详解-第18章 应用程序接口
第18章 应用程序接口 MATLAB作为一款优秀的工程软件,不仅其自身拥有强大的功能和友好的环境界面,还具有很好的开放性,主要表现在:丰富多样的工具箱(Toolbox)可以适应各学科、各领域的需要;提供了专门的应用程序接口(API),和外部应用程序实现“无缝”结合。 本章主要针对MATLAB的API的相关知识,介绍以下几方面内容。 MATLAB中的数组及C语言中的mxArray类型。 在MATLAB中使用MEX文件来调用C或FORTRAN子程序。 通过MATLAB引擎(Engine),在MATLAB中执行运算,并将结果返回到C或FORTRAN程序中。 创建和访问标准的MATLAB的MAT文件应用程序,实现MATLAB数据的输入和输出。 18.1 MATLAB中的数组 18.1.1 MATLAB数组 18.1.2 C中的mxArray结构 18.1.1 MATLAB数组 要理解和编写MATLAB的接口程序,其基础和关键是对于MATLAB的数组结构要了解清楚,因为任何MEX程序、引擎程序以及MAT程序都需要通过访问MATLAB的数组来执行指定的操作。阅读过本书之前章节的读者应该对于数组(Array)并不陌生,本小节将进一步介绍数组的存储方式。 MATLAB的数据类型可以分为多种,有整型、浮点类型、字符串、元胞、构架等,但所有的数据类型都是只用一种对象类型存储,即“数组”,所有的标量和复合元素都视为数组。MATLAB按“列”存储数组中的数据(元素)。 18.1.2 C中的mxArray结构 在C语言中,MATLAB数组被看做是一种新的数据类型,即C中的mxArray类型。mxArray类型保存了对应的数组类型、维数和数据本身等相关信息。 mxArray类型对应数值类型的变量,指明此变量是实数或复数;对于稀疏类型的变量,指明其下标和最大非零元素;对应构架类型的变量,指明其域名及对应的数值。有关mxArray类型对应不同MATLAB数据类型的存储特性,请读者自行参考MATLAB帮助文档的相关内容。 一般来说,用来访问mxArray类型的特性和元素的函数名都以mx开头,所以被称为MX函数。MATLAB提供了众多函数和子程序用来访问和操作从C或FORTRAN中获取的mxArray类型。 18.2 在MATLAB中调用C或FORTRAN 本节介绍MEX文件的相关知识,并举例说明在MATLAB中调用C或FORTRAN子程序的方法。 18.2.1 C语言中的MEX文件 在上一章中,提及过MEX文件,本小节进一步为读者介绍有关MEX文件的内容。MEX是MATLAB和Executable两个单词的缩写,MEX文件是一种可以在MATLAB中调用的C语言或者FORTRAN语言衍生程序代码,一般的MEX文件经过适当的编译后,生成的目标文件可以被M语言解释器(即MATLAB命令窗口方式)调用执行,这种文件在Windows操作系统中使用后缀“.dll”标示(动态链接库——Dynamic Link Library)。 MEX文件一般应用于已经存在的大规模的C或FORTRAN程序中,这样可以在MATLAB中运行直接面向硬件编写的C或FORTRAN程序。下面首先举一个简单的例子,说明MEX文件的创建方法和基本组成结构。 18.2.2 FORTRAN语言中的MEX文件 作为专业科学计算高级编程语言,FORTRAN语言在数值计算方面要比C语言优秀,所以,用户在进行数据处理时,也常需要调用FORTRAN语言的子程序。其实,使用FORTRAN语言创建MEX文件的方法与C语言是基本类似的,下面就以上一小节同样的例子介绍过程。 【例】在MATLAB中调用FORTRAN程序示例。 上一小节的例子,用FORTRAN语言编写的代码如下。 subroutine timestwo(y, x) real*8 x, y C y = 2.0 * x return end 18.3 在C和FORTRAN中调用MATLAB 上一小节主要介绍了在MATLAB中调用C和FORTRAN子程序的方法,本节内容恰恰是与其“反向”的,主要介绍如何在C和FORTRAN环境下调用MATLAB函数。在C和FORTRAN环境下完成对MATLAB函数的调用,需要用到MATLAB计算引擎技术。引擎函数是用C或者FORTRAN编写,在Windows平台上与MATLAB通信是通过ActiveX进行的,作用有以下两点: 在其他语言编写的应用程序中,指令简单易读,计算快速可靠的MATLAB被作为数学库使用; MATLAB作为计算引擎使用,前台是其他高级语言编写生成的GUI,而MATLAB在后台执行各种复杂的计算,与当前运行的所有MATLAB过程相
您可能关注的文档
最近下载
- 2025年江苏省盐城市中考政治试题及答案.docx VIP
- 2025苏教版三上数学《曹冲称象的故事》测试卷及答案.pdf
- 【安全生产】-应急管理培训课件-生产安全事故应急预案及其演练全流程讲解(100页经典版课件).pptx VIP
- 2022年4月四级烟草专卖管理师理论知识试卷.pdf VIP
- 2025年中国四氯化锆项目投资计划书.docx
- 6.3.2 二项式系数的性质 课件(共19张PPT).pptx VIP
- 博物馆陈列展览大纲.doc VIP
- 风机基础土方开挖及回填方案.docx VIP
- 民用建筑设计统一标准 GB 50352-2019.pdf VIP
- TB10007-2006 铁路信号设计规范.docx VIP
文档评论(0)