MATLAB编程与最优化设计应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 MATLAB的特色

MATLAB 和 Mathematica、Maple 并称为三大数学软件。在数学类科技应用软件中, MATLAB在数值计算方面首屈一指,有自身的特色。

1.1.1 MATLABR的特点

MATLAB具有以下显著特点:

(1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

(2)具有完备的图形处理功能,实现计算结果和编程的可视化;

(3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

(4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便、实用的处理工具。

1.1.2 MATLAB的优势

MATLAB具有如下优势。

1.编程环境

MATLAB由一系列工具组成,这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面,包括 MATLAB 桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用户浏览帮助、工作空间、文件的浏览器。随着 MATLAB 的商业化及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误并进行出错原因分析。

2.简单易用

MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入/输出和面向对象编程。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的、复杂的应用程序(M文件),再一起运行。新版本的MATLAB语言基于最为流行的C++语言,因此语法特征与 C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写习惯,更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

3.处理能力强

MATLAB 是一个包含大量计算算法的集合,拥有 600 多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB,编程工作量会大大减少。MATLAB的这些函数集包括从最简单、最基本的函数到诸如矩阵、特征向量、快速傅里叶变换的复杂函数。函数所能解决的问题大致包括:矩阵运算和线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅里叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作及建模动态仿真等。

4.MATLAB的图形功能强大

在Fortran和C语言中,绘图都很不容易,但在MATLAB中,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。

5.源程序的开放性

开放性也许是MATLAB最受人们欢迎的特点之一。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改及加入自己的文件构成新的工具箱。

6.模块集合工具箱

MATLAB针对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通信、电力系统仿真等,这些都在工具箱(Toolbox)家族中有了自己的一席之地。

1.1.3 MATLAB R2012a新建功能

MATLAB R2012a包括了MATLAB、Simulink和Polyspace产品的新功能,以及对77种其他产品的更新和补丁修复。

1.MATLAB产品系列方面

MATLAB产品系列中实现了以下重要的新功能。

(1)MATLAB:统一了用于一维、二维与三维数值积分的函数并提升了基本数学函数和内插函数的性能。

(2)MATLAB Compiler:可以下载 MATLAB Compiler Runtime(MCR),简化编译后的程序和组件的分发。

(3)Image Processing Toolbox:通过亮度指标优化进行自动图像配准。

(4)Statistics Toolbox:增强了使用线性、广义线性和非线性回归进行拟合、预测和绘图的界面。

(5)System Identification Toolbox:识别连续时间传递函数。

2.代码生成产品

在代码生成的产品方面实现了以下重要的新功能。

(1)HDL Coder:可替代Simulink HDL Coder的新产品,添加了直接从MATLAB生成HDL代码的功能。

(2)HDL Verifier:可替代EDA Simulator Link的新产品,添加了Altera FPGA在环支持。

(3)MATLAB Coder:可从用户定义的系统对象生成代码并自动生成动态共享库。

(4)Embedded Coder:AUTOSAR 4.0兼容性,减少了数据副本,并通过Simulink Web视图实现代码生成报告的链接。

3.工具箱

用于在MATLAB和Simulink中进行设计的系统工具箱(System Toolbox)实现了以下重要的新功能。

(1)Computer Vision System Toolbox:Viola-Jones对象检测、MSER特征检测和CAMShift跟踪。

(2)Communications System Toolbox:USRP 无线电支持、LTE MIMO信道模型及LDPC、Turbo解码器和其他算法的GPU支持。

4.Simulink产品

在Simulink产品系列中实现了以下重要的新功能。

(1)Simulink:从目标硬件(包括 LEGO MINDSTORMS NXT 和 BeagleBoard)上的Simulink直接运行模型的能力。

(2)SimMechanics:具有新的三维可视化功能的第二代多体建模和仿真技术。

(3)Real-Time Windows Target:使用Simulink标准模式实时执行Windows中的模型。