MATLAB 8.5基础教程
上QQ阅读APP看书,第一时间看更新

1.1 MATLAB概述

MATLAB是一种高效的语言,其发展速度之快、应用范围之广、功能之强大,已为业人所惊叹。因此我们先对MATLAB的发展历史、系统结构及特点、学科工具箱等内容进行整体介绍,使初学者快速了解MATLAB的概况。

1.1.1 MATLAB发展历程

MATLAB是MATrix LABoratory(矩阵实验室)的缩写。20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的克里夫·莫勒尔(Cleve Moler)教授为了减轻学生编程的负担,用FORTRAN语言编写了线性代数软件包(Linpack)和特征值计算软件包(Eispack),这便是最初的MATLAB。

1984年,杰克·李特(Jack Little)、克里夫·莫勒尔和斯蒂夫·班格尔特(Steve Bangert)合作成立了Mathworks公司,正式把MATLAB推向市场,并在拉斯维加斯举行的IEEE决策与控制会议上推出了利用C语言编写的面向MS-DOS系统的MATLAB 1.0。MATLAB以商品形式出现后的短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包纷纷淘汰,而改在MATLAB平台上重建。在20世纪90年代,MATLAB已经成为国际控制界公认的标准计算软件。

1993年推出了基于PC的以Windows为操作系统平台的MATLAB 4.0。1996年推出MATLAB 5.0,增加了更多的数据结构,使其成为更方便的编程语言。2000年10月推出全新的MATLAB 6.0正式版(R12),在核心数值算法、界面设计、外部接口、应用桌面等方面有了极大改进。2004年7月推出MATLAB 7.0(R14),在编程环境、代码效率、数据可视化、文件I/O等方面进行了全面升级。2006年起,每年推出两个版本,上半年推出的用a标识,下半年推出的用b标识,如2006年上半年推出的版本为MATLAB 7.2(R2006a),下半年版本为MATLAB 7.3(R2006b)。

2012年9月份开发的MATLAB 8.0(R2012b),采用了全新的视图界面,具有MATLAB和Simulink的重大更新,可显著提升用户的使用与导航体验,包括64位和32位两个版本。2014年3月推出带有中文界面的MATLAB 8.3(R2014a),2015年3月发布包含一系列MATLAB和Simulink新功能的MATLAB 8.5(R2015a)。

MATLAB具有功能强、学习容易、效率高等特点,已成为线性代数、数值分析计算、数学建模、最优化设计、统计数据处理、生物医学工程、财务分析、金融计算、自动控制、数字信号处理、通信系统仿真等课程的基本教学工具,是目前世界上最流行的仿真计算软件之一。掌握了这一重要工具,则为读者今后的学习、科学研究、行业开发打下较好的基础。

1.1.2 MATLAB系统结构

MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)5部分构成。

MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的用户工作空间,允许用户输入/输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令行窗口、M文件编辑调试器、工作空间浏览器和在线帮助文档。

MATLAB数学函数库是数学算法的一个巨大集合,包括初等数学的基本算法,高等数学、线性代数等学科的复杂算法等。用户直接调用其函数就可进行运算,它是MATLAB系统的基础组成部分。

MATLAB语言是一种交互性的数学脚本语言,它支持逻辑、数值、文本、函数柄、细胞数组和结构数组等数据类型,是一种高级的基于矩阵/数组的语言,具有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。

MATLAB图形处理系统是指MATLAB系统提供的强大的数据可视化功能,包括二维、三维图形函数,图像处理和动画效果等。它还提供了包括线型、色彩、标记、坐标等修饰方法,使绘制的图形更加美观、精确。

MATLAB应用程序接口(API)是MATLAB语言与C、Fortran等其他高级编程语言进行交互的函数库。该库的函数通过调用动态链接库(DLL)实现与MATLAB文件的数据交换,其主要功能是在MATLAB中调用C和Fortran程序,在MATLAB与其他应用程序间建立客户/服务器关系。

1.1.3 MATLAB工具箱类型

MATLAB通过附加的工具箱(Toolbox)进行功能扩展,每一工具箱都是实现特定功能的函数集合。MATLAB工具箱主要分以下几大类:

●数学、统计与优化。

●控制系统设计和分析。

●信号处理和通信。

●图像处理与计算机视觉。

●计算金融。

●计算生物。

●并行计算。

●测试与测量。

●数据库访问与报告。

●代码生成和验证。

MATLAB R2015a的工具箱类型如表1-1所示。

表1-1 MATLAB R2015a工具箱类型

MATLAB具有开放性,其内部函数、主包文件和各种工具包文件,都是可读、可修改的函数,因此用户可通过对源程序进行修改,或加入自己编写的程序来构造新的专用工具包。

1.1.4 MATLAB主要功能

MATLAB的功能非常强大,其主要功能如下:

●数值计算、符号计算、工程计算等各种计算功能。

●绘制二维和三维图形等数据可视化功能。

●创建函数文件、数据管理等编程的开发环境。

●使用线性代数、统计、傅里叶分析、筛选、优化、插值、拟合等方法的数据处理能力。

●利用工具箱处理各应用领域内特定类型问题的扩展功能。

●基于Simulink工具的系统建模、仿真和分析功能。

●构建自定义的图形用户界面应用软件开发功能。

●将MATLAB的算法与外部应用程序和语言(如C、Java、.NET以及Microsoft Excel)的集成功能。

1.1.5 MATLAB的特点

1.直译式的编程语言

MATLAB语言是以矩阵计算为基础的程序设计语言,简单易学,用户不用花太多时间即可掌握其编程技巧。其指令格式与常用的数学表达式非常相近,语法规则也与一般的结构化高级编程语言类似,包含控制语句、函数、数据结构、输入/输出等内容和面向对象编程等特点。对于要解决的问题,用户可以在命令行窗口中将输入语句与执行命令同步,也可以先编写好一个较大的应用程序(M文件),然后一起运行。

2.短小高效的代码

由于MATLAB已将数学问题的具体算法编成了函数,因此用户只要熟悉算法的特点、使用场合、函数的调用格式和参数意义等,通过调用函数很快就可以解决问题。

3.强大的科学计算与数据处理能力

MATLAB是一个包含大量计算算法的集合,其拥有上千个数学函数和工程计算函数,可以直接调用而不需另行编程,非常方便地实现用户所需的各种计算功能。该软件具有强大的矩阵计算功能,拥有众多的工具箱,几乎能解决大部分学科中的数学问题。

4.先进的绘图和数据可视化功能

MATLAB能够按照数据产生高质量的二维、三维数据图形,并可绘制各类函数的多维图形。还可以对图形设置颜色、光照、纹理、透明性等,以增强图形的表现效果。

5.可扩展性能

MATLAB包含基本部分和各种可选的工具箱。基本部分构成了MATLAB的核心内容,也是使用和构造工具箱的基础,工具箱扩展了MATLAB功能。除内部函数外,所有MATLAB基本文件和工具箱文件都是可读可改的源文件,用户可通过对源文件进行修改或加入自己编写的文件,构造自己的专用工具箱,以方便解决自己领域内常见的计算问题。

6.友好的工作平台和编程环境

MATLAB中的工具包大多采用图形用户界面,其界面越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。