矩阵实验室

2016-05-14 10:42庄鸿昌郝智强崔志鹏
艺术科技 2016年6期
关键词:编程语言

庄鸿昌 郝智强 崔志鹏

摘 要:在编程与设计算法时,很多架构师与数学家早就想拥有一个智能的、封装好常用函数的、方便而且界面友好的程序来帮助他们计算和完成那些简单的函数,此时一个叫做矩阵实验室(Matlab)的智能软件应运而生。慢慢地,Matlab成为了线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等诸多课程的基本教学工具。在科学研究的发展之路上扮演着重要的角色。

关键词:Matlab;编程语言;数学算法

1 Matlab的由来

Matlab诞生于20世纪70年代,起源于用Fortran开发的两个用来求解线性方程的子程序库——EISPACK和LINPACK。最初Matlab作为免费软件在大学里广泛使用,使用FORTRAN编写,深受大学生的喜爱。1984年,开发者成立了MathWorks公司,Matlab的版本不断更新,在继续开发的基础上,Matlab推向了市场。经过不断的改进,2007年3月该公司发布了最新的Matlab R2007。Matlab长于数值计算,能处理大量的数据,而且效率比较高。MathWork公司还加强了Matlab的符号计算、文字处理、可视化建模和实时控制能力,增强了Matlab的市场竞争力,使Matlab成为了市场主流的数值计算软件。目前,Matlab已经不仅仅是一个“矩阵实验室”了,它已经成为一种广泛用于工程计算及数值分析领域的新型高级语言。在各个高等院校,Matlab已经成为很多课程的基本教学工具,成为大学生和研究生所必须掌握的基本编程语言。在科研与工程应用领域,Matlab已被广泛地用于解学研究和解决各种具体的实际问题。

2 Matlab的主要功能

2.1 数字计算和符号计算功能

Matlab以矩阵作为数据操作的基本单位,这使得矩阵运算变得非常简捷、方便、高效。还提供了十分丰富的数值计算函数,而且所采用的数值计算算法都是国际公认的最先进、可靠的算法,其程序由世界一流专家编制和高度优化。高质量的数值计算功能为Matlab赢得了声誉。

在实际应用中,除了数值计算外,往往要得到问题的解析,这属于符号计算的领域。Matlab和著名的符号计算语言Maple相结合,使得Matlab具有了符号计算功能。

2.2 绘图功能

利用Matlab绘图十分方便,它既可以绘制各种图形,包括二维图形和三维图形,还可以对图形进行修饰和控制,以增强图形的表现效果。Matlab提供了两个层次的绘图操作:一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。Matlab的高层绘图操作,用户不需过多地考虑绘图细节,只需给出一些基本参数就能利用Matlab图形句柄操作绘制,用户可以更灵活地对图形进行各种操作,为用户在图形表现方面开拓了一个没有束缚的广阔空间。

2.3 语言体系

Matlab具有程序结构控制,函数调用,数据结构,输入输出,面向对象等程序语言特征,所以使用Matlab也可以像使用BASIC、FORTRAN、C等传统编程语言一样进行程序设计而且简单易学,编程效率高。因此,对于从事数值计算、计算机辅助设计和系统仿真等域的人员来说,用Matlab编程的确是一个理想选择。

Matlab是解释性语言,程序执行速度较慢,而且不能脱离Matlab环境而独立运行。MathWorks公司有心让Matlab成为新一代的通用软件开发工具,并为此提供了将Matlab源程序编译为独立于Matlab集成环境运行的EXE文件以及将Matlab程序转化为C语言程序的编译器。

2.4 Matlab工具箱

Matlab包含两部分内容:基本部分和各种可选的工具箱。基本部分构成了Matlab的核心内容,也是使用和构造工具箱的基础。Matlab工具箱分为两大类:功能性工具箱和学科性工具箱,主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。学科性工具箱专业性比较强,如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱、统计学工具箱等。这些工具箱都是由该领域内学术水平很高的专家编写的,用户可以直接利用这些工具箱进行相关领域的解学研究。

Matlab具有很强的开放性,除了内部函数外,所有Matlab基本文件和各工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改或加入自己编写的文件去构成新的专用工具箱。

3 Matlab的优点

Matlab由一系列工具组成,这些工具方便用户使用Matlab的函数和文件,其中许多工具采用的是图形用户界面。随着Matlab的商业化以及软件本身的不断升级,Matlab的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。Matlab拥有600多个工程中要用到的数学运算函数,可以方便实现用户所需的各种计算功能。在计算要求相同的情况下,使用Matlab的函数工作量会大大减少。新版本的Matlab对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(如图形的光照处理、色度处理以及四维数据的表现等),Matlab同样表现了出色的处理能力。同时,对一些特殊的可视化要求,如图形对话等,Matlab也有相应的功能函数,保证了用户不同层次的要求。Matlab对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。新版本的Matlab可以利用Matlab编译器和C/C++数学库和图形库,将自己的Matlab程序自动转换为独立于Matlab运行的C和C++代码。允许用户编写可以和Matlab进行交互的C或C++语言程序。Matlab的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。在开发环境中,用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等。

4 发展前景

科技的快速发展使得很多东西越来越智能化、自动化,而自动控制与各种数学算法是分不开的。而Matlab的建模可以很好地实现对实际需求的建模,因而使得其越来越流行,相信在不久的将来,Matlab会推出更多更好的版本,更加方便架构师和科学家们使用来发明发现更多的算法。

参考文献:

[1] 楼顺天,姚若玉,沈俊霞. Matlab 7.x程序设计语言[M].西安电子科技大学出版社,2013.

[2] 刘卫国. Matlab程序设计与应用[M].高等教育出版社,2006.

作者简介:庄鸿昌(1995—),男,江苏连云港人,沈阳理工大学。

郝智强(1994—),男,内蒙古包头人,沈阳理工大学。

崔志鹏(1995—),男,山东平原人,沈阳理工大学。

猜你喜欢
编程语言
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
压力-体积转换在CFC编程语言中的实现解析
计算机应用软件开发中编程语言的选择研究
计算机软件开发的JAVA编程语言及其实际应用分析
Java编程语言的特点与应用
软件开发中JAVA编程的应用探究
Java编程的现状与发展前景
计算机应用软件开发中编程语言的选取
常用计算机编程语言的分析及选用技巧
浅谈不同编程语言对计算机软件开发的影响