简析MATLAB与.NET混合编程.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简析MATLAB与.NET混合编程

这个是我写的一篇关于MATLAB课程的作业,作业已提交。所以,ChenGuangda老师看到了请不要以为我的作业是从网上抄的,哈哈。0.背景MATLAB作为一款功能强大、效率高、交互性好的可视化高级计算机语言,在数值计算、自动控制、数字信号处理、图形处理、仿真、神经网络、小波分析等各个领域有着广泛的应用。虽然MATLAB是一个完全独立的编程和数据运算的集成环境使用它可以很方便地做很多工作,但是,很多时候仅仅依靠MATLAB环境还是不能很好地完成工作,例如一个大的项目中需要使用到MATLAB中很容易实现而且很有些的功能时,如果这个时候使用特定语言开发,将会是一个费时费力的事情,而且稳定性、效率方面都不如MATLAB好;或者,其他语言编写的优秀程序,如果想在MATLAB中使用,就要重写M文件,造成了人力和物力的浪费,所以MATLAB和其他程序之间的数据交换就显得十分必要,MATLAB程序接口的出现,就解决了这些问题,通过接口与其他编程环境交互,各取所长,充分发挥MATLAB计算的优点,而避开MATLAB效率低的问题。1.MATLAB的接口???????MATLAB提供了多种编程语言的接口,通过微软的组建对象模型(Component Object Model,COM)完成外部程序、客户端和服务端之间的通讯和数据共享,这些功能的实现都是使用了MATLAB的应用程序接口(Application Program Interface,API)来实现的。下图是MATLAB提供的接口。?MATLAB使用自身强大的编译器可以将MATLAB的应用程序编译为一个独立的程序(.exe)或者组件(.dll),这些组件又能够被Fortran、C、C++等高级语言调用,实现了和其他程序之间的交互;通过使用MATLAB Builder EX,将MATLAB的函数打包为组件,这样就能够能被Excel使用;通过使用MATLAB Builder JA,可以由MATLAB程序创建Java语言中的类,这些类完全可以在没有安装MATLAB的桌面计算机或者网络服务器上运行。通过使用MATLAB Builder NE,将MATLAB函数封装入.NET中类的方法,这些类就可以像其他托管代码一样被.NET环境下的所有语言调用,例如C#、VB.NET、J#、C++.NET、F#等语言,甚至是网络程序也可以调用,例如ASP.NET。2.外部语言的选取由上节可见MATLAB的编程接口是相当丰富的,这里就.NET方式讨论,使用.NET的接口有如下几个优点:代码安全。作为托管代码,不会出现指针带来的问题,这就保证了程序的稳定性容错机制。C#中具有异常处理方法,因此即使程序在运行中出现了错误,也能从故障中快速恢复,或者提供较好的摆脱异常的方法,而不是像其他程序那样造成程序崩溃。面向对象。通过将函数打包为一个类的方法,实现了完整的面向对象编程,方便了代码的阅读和管理,并能够实现面向对象中的重载、继承、多态等功能。2.1什么是.NET???????.NET的定义,根据微软官方的描述:???????.NET is a revolutionary new platform,?built on open Internet protocols and standards,?with tools and services that meld computing and communications in new ways。.NET?是微软公司的一组软件技术,用来连接信息、人、系统和各种设备。它通过使用?Web Services?技术来获得软件的高度集成。除了将小型的、分散的、构建模块应用互相连接起来,还将?Internet?上的更大应用连接起来。微软总裁兼首席执行官Steve Ballmer把它定义为:.NET代表一个集合,一个环境,一个可以作为平台支持下一代Internet的可编程结构。???????.NET的核心部分是.NET Framework,这是一组框架,是.NET的核心支持库,.NET Framework提供CLR(公共语言运行时)提供了对各种程序的支持,通常将在CLR的控制下运行的代码,称为托管代码(managed code)。使用.NET开发的程序需要在.NET Framework下才能运行,就像VB的程序需要VB运行库,java程序需要JVM(Java虚拟机)一样。下图是.NET Framework的架构:????????通过使用Visual Studio.NET开发工具,可以使用多种语言开发,采用CLS(公共语言规范)后,编译为中间语言,这种语言是专门针对公共语言的,和其他高级语言无关,因此,高级语言可以在这个层面上实现融合和互通,这也是.NET架构的一大优势,也是其成功的关键因素。最

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档