精通MATLAB最优化计算(第2版)(含CD光盘1张)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-08 04:30:29

点击下载

作者:龚纯

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

精通MATLAB最优化计算(第2版)(含CD光盘1张)

精通MATLAB最优化计算(第2版)(含CD光盘1张)试读:

内容简介

本书的主要内容是应用MATLAB来解决最优化问题,通过将“最优化问题”、“MATLAB优化工具箱”和“MATLAB编程”这三方面有机结合进行讲述,即一方面是使用工具箱来快速解决最优化问题,另一方面是通过算法编程深入解决最优化问题。

本书侧重于最优化算法的MATLAB实现,同时精选了大量的最优化问题实例,通过实例的分析与求解,切实教会读者掌握MATLAB在最优化问题方面的应用。

通过本书,读者不仅能掌握使用MATLAB最优化工具箱来快速解决实际问题,而且能学会分析优化算法和采用MATLAB编程解决最优化问题,从而提高分析和解决问题的能力。

本书可作为信息、数学、经济、金融、管理、运筹、统计、计算机以及相关理工科专业的本科生和研究生作为教材、实验或教学参考书,也可供相关工程技术与管理人员、数学建模爱好者参考。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据精通MATLAB最优化计算/龚纯,王正林编著.—2版.—北京:电子工业出版社,2012.1(MATLAB精品丛书)ISBN 978-7-121-14734-0I.精… Ⅱ.①龚… ②王… Ⅲ.Matlab软件 Ⅳ.①TP317中国版本图书馆CIP数据核字(2011)第200780号策划编辑:张月萍责任编辑:董 英印  刷:北京市顺义兴华印刷厂装  订:三河市双峰印刷装订有限公司出版发行:电子工业出版社          北京市海淀区万寿路173信箱 邮编100036开  本:787×1092 1/16 印张:26.25 字数:672千字印  次:2012年1月第1次印刷印  数:4000册 定价:59.00元(含光盘1张)

凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。

质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com.cn。

服务热线:(010)88258888。

第2版前言

本书第1版已被多所院校作为数学、信息、计算机、金融、运筹类课程的教材和教辅参考书,而且由于简单易学、内容全面、讲解细致、实例丰富而深受广大读者的喜爱,上市两年多以来长期占据同类书的销售前列,得到了读者的认可。

根据读者的需求和软件的升级,我们结合MATLAB软件的最新版本,对全书的内容进行了完善与优化,使之更加适合读者的需要。新版导读

全书分16章进行展开,分为MATLAB入门篇、优化计算基础篇、优化计算高级篇和综合应用篇。

1.MATLAB入门篇(第1~4章)

包括MATLAB概述、MATLAB计算基础、MATLAB绘图基础、MATLAB程序设计基础等内容。

MATLAB具有强大的计算功能和数据可视化功能,是首选的计算软件。了解其软件,掌握其计算和绘图两大功能,熟练使用MATLAB进行程序设计是应用MATLAB的基础。

2.优化计算基础篇(第5~12章)

包括MATLAB优化工具箱、无约束一维极值问题、无约束多维极值问题、约束优化问题、非线性最小二乘优化问题、线性规划、整数规划、二次规划等内容。

从理论与实际结合的角度出发,介绍了常用的7类优化方法及其算法,采用简洁明了的套路讲述:(1)算法原理,(2)算法步骤,(3)算法的MATLAB实现,(4)算法举例。

书中不仅介绍了MATLAB优化工具箱中这些算法的实现函数,还着重编写了算法的MATLAB程序,并通过实例进行了验证。

3.优化计算高级篇(第13~14章)

包括粒子群优化算法、遗传算法等内容。

讲述两类常用的现代优化方法,对其中的典型优化算法一一通过MATLAB编程实现,拓展了MATLAB解决优化问题中的难解问题。

4.综合应用篇(第15~16章)

包括工程最优化问题实例、经济金融最优化问题实例等内容。

立足于典型、实际的工程应用问题,综合展示应用MATLAB实现优化计算的全过程,即问题分析、数学模型、确定优化算法、运用MATLAB完成优化计算。

通过实战教会读者如何根据实际问题的特点抽象出不同类型的模型,然后选择不同的方法进行计算并进行数值实现。而且还触类旁通地向读者介绍MATLAB在各个领域的优化问题中的应用,达到学以致用。网络下载

本书所编的源程序,都经过了反复的调试,读者可在www.broadview.com.cn网站下载,同时,我们还制作了本书的部分课件,也放在该网站上,方便读者使用。

本书主要由龚纯、王正林编写。其他参与编写的人员有肖静、刘玉芳、王晓丽、肖绍英、邓祈、王殿祜、王伟欣、朱桂莲、王龙跃、朱艳、彭斌武、王盘桃、刘拥军等。在此对所有参与编写的人员表示感谢!

再次对博文视点公司的郭立老师、张月萍老师、朱沭红老师表示衷心的感谢!对关心、支持我们的读者表示感谢!

由于作者水平和经验有限,书中错漏之处在所难免,敬请读者指正,我们的电子邮箱是:wa_2003@126.com。作 者2011年盛夏于北京

第1版前言

最优化理论和方法日益受到重视,已经渗透到生产、管理、商业、军事、决策等各个领域,而最优化模型与方法广泛应用于工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各个部门及各个领域。

伴随着计算机技术的高速发展,最优化理论与方法的迅速进步,为解决实际最优化问题的软件也在飞速发展。其中,MATLAB软件已成为在最优化领域应用最广的软件之一。

有了MATLAB这个强大的计算平台,既可以利用MATLAB优化工具箱(Optimization Toolbox)中的函数,又可以通过对算法编程实现相应的最优化计算。

本书由浅入深、全面系统地讲述MATLAB在最优化领域的应用。本书导读图使用指南

为了帮助读者在遇到具体应用问题时,能够更好更快地从本书中查找到所需内容,我们特地制作了本书的使用指南。这个指南的组织逻辑是以解决实际问题的一般思考步骤为顺序的,即在遇到具体应用问题时,大致都需要经历以下3个步骤。

➢ 明确应用领域

➢ 选择优化方法

➢ 应用MATLAB

在每一步骤中又涉及若干具体问题,可进一步向下细分。从这个指南图中也可以清楚地看出本书的知识脉络,从而形成一幅系统化、综合化的整体知识体系结构图。给读者的建议

读者在学习本书时可根据自己的基础灵活安排内容,但应注意把握循序渐进的原则,稳扎稳打,逐步掌握。针对不同基础的读者,我们的建议如下图:主要特色

本书内容以算法程序为主、实例为辅,通过一个个的算法分析、MATLAB编程、算法应用实例,一步步带领读者进入MATLAB的强大世界,挖掘MATLAB的丰富宝库。

本书主要的特点可以概括为以下几点。

1.内容由浅入深、层次性强

本书采用4篇结构,从MATLAB入门篇入手,然后通过优化计算基础篇和高级篇,循序渐进讲述最优化计算,最后在综合应用篇中讲述大量的实例收尾。本书的层次结构简洁明了,非常适合不同层次的读者选择性地学习,提高了学习效率。

另一方面,讲述应用MATLAB求解最优化问题时,也是从易到难依次讲述了GUI优化工具、工具箱函数、自编函数这三种实现方式。

2.紧密围绕MATLAB,系统性强

MATLAB软件的出现,为解决实际中各种最优化问题提供了更新、更丰富的手段、技术和方法。一方面从快捷便利的最优化工具箱GUI工具以及工具箱函数入手;另一方面从采用算法编程的方式入手。

简言之,利用MATLAB求解最优化问题,既可以用快捷的GUI工具,又可以用功能强大的工具箱函数,还可以通过算法编程来实现,方式多样,系统性强。

3.算法程序及实例丰富,实用性强

本书打破了最优化类书算法多、程序少的弊病,对复杂的算法推导一带而过,重在程序、重在MATLAB实现!

精心挑选了最具代表性和实用性的60余个优化算法,一一编程实现,并提供了全部源代码,非常便于学习和参考。

同时精选100多个实例,悉数进行全面的分析和求解,并在综合应用篇集中讲述。

4.算法编程实现,指导性强

本书的算法全部采用MATLAB编程实现,源程序注释丰富,而且通过实例验证了正确性,读者通过编程练习,不但可以更深入地理解优化算法理论,还能够熟练掌握MATLAB编程。

5.语言简洁精炼,可读性强

本书的算法尽量用直观的方法、简洁通俗的语言来说明其基本思想,并辅以丰富的实例与分析来说明求解的步骤,从而避免复杂的数学推导。

在算法编程中,对关键的代码进行点睛式的注释,让读者从程序中快速掌握最优化算法及其实现。作者致谢

感谢父母和朋友们的支持与鼓励,使得本书的创作过程得以坚持下去;感谢朱沭红老师、王鹤扬编辑的大力支持和辛勤劳动!

由于作者水平和经验有限,书中错漏之处在所难免,还望得到专家、读者和行内人士的批评指正,我们的邮箱是:wa_2003@126.com。编著者2009年2月18日于清华园第1篇 MATLAB入门篇

如果从编程语言方面说,MATLAB是最简单易学的语言;如果从软件操作方面说,MATLAB的操作和Office软件差不多。

基本的软件操作、矩阵计算、画图功能以及简易的编程,稍微花点时间,你就会了!

MATLAB入门,你成了!

第1章 MATLAB概述

第2章 MATLAB计算基础

第3章 MATLAB绘图基础

第4章 MATLAB程序设计基础第1章 MATLAB概述

MATLAB是一个包含众多科学、工程计算的庞大系统,是目前世界上最流行的计算软件之一。经过20余年的补充与完善以及多个版本的升级换代,MATLAB软件的功能已经变得非常之强大。1.1 MATLAB的产生与发展

MATLAB语言的产生是与数学计算紧密联系在一起的。1980年,美国新墨西哥州大学计算机系主任Cleve Moler在给学生讲授线性代数课程时,发现学生在高级语言编程上花费很多时间,于是着手编写供学生使用的Fortran子程序库接口程序,他将这个接口程序取名为MATLAB(即Matrix Laboratory的前三个字母的组合,意为“矩阵实验室”)。这个程序获得了很大的成功,受到学生的广泛欢迎。

20世纪80年代初期,Moler等一批数学家与软件专家组建了MathWorks软件开发公司,继续从事MATLAB的研究和开发,1984年推出了第一个MATLAB商业版本,其核心是用C语言编写的。而后,MATLAB又添加了丰富多彩的图形图像处理、多媒体、符号运算以及与其他流行软件的接口功能,功能越来越强大。

MathWorks公司正式推出MATLAB后,于1992年推出了具有划时代意义的MATLAB4.0版本,之后陆续推出了几个改进和提高的版本,2004年9月正式推出MATLABRelease14,即MATLAB7.0,其功能在原有的基础上又有了进一步的改进。

此后,几乎形成了一个规律,每年的3月份和9月份推出当年的a和b版本,目前的最新版本是MATLAB2011a。

经过几十年的研究与不断完善,MATLAB现已成为国际上最流行的科学计算与工程计算软件工具之一,现在的MATLAB已经不仅仅是一个最初的“矩阵实验室”了,它已发展成为一种具有广泛应用前景、全新的计算机高级编程语言,可以说它是“第四代”计算机语言。

自20世纪90年代以来,美国和欧洲的各大学陆续将MATLAB正式列入研究生和本科生的教学计划,MATLAB软件已成为数值计算、数理统计、信号处理、时间序列分析、动态系统仿真等课程的基本教学工具,成为学生必须掌握的基本软件之一。在研究单位和工程界,MATLAB也成为工程师们必须掌握的一种工具,被认做进行高效研究与开发的首选软件工具。1.2 MATLAB的优势与特点

MATLAB在学术界和工程界广受欢迎,其主要优势和特点有如下几方面。1.友好的工作平台和编程环境

MATLAB由一系列工具组成,其中许多工具采用的是图形用户界面,包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索,以及用于用户浏览帮助、工作空间、文件的浏览器。这些图形化的工具为用户使用MATLAB的函数和文件提供了极大的方便。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。同时,MATLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。

MATLAB简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误并进行出错原因分析。2.简单易用的编程语言

MATLAB语言是一种高级的矩阵语言,它包含控制语句、函数、数据结构、输入/输出和面向对象编程特点。用户可以在命令窗口中将输入命令与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再运行。

MATLAB语言是基于流行的C++语言的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。3.强大的科学计算和数据处理能力

MATLAB是一个包含大量计算算法的集合,拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。

这些函数包括从最简单最基本的函数到诸如矩阵、特征向量、快速傅里叶变换的复杂函数。函数所能解决的问题大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅里叶变换、数据的统计分析、最优化计算问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。

在通常情况下,可以用MATLAB来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。4.出色的图形处理功能

MATLAB自产生之日起就具有方便的数据可视化功能,能够将向量和矩阵用图形的形式表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图像处理、动画和表达式作图,可用于科学计算和工程绘图。

MATLAB对整个图形处理功能进行了很大的改进和完善,它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。

同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。MATLAB还着重在图形用户界面(GUI)的制作上做了很大的改善,对这方面有特殊要求的用户也可以得到满足。5.应用广泛的模块集合工具箱

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱(Toolbox)。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法,而不需要自己编写代码。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,如最优化计算、样条拟合、概率统计、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、模糊逻辑、金融分析等,都在工具箱家族中有了自己的一席之地。6.实用的程序接口和发布平台

MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码,允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还允许在Web应用中使用自己的MATLAB数学和图形程序。1.3 MATLAB系统的构成

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

这部分是一套方便用户使用MATLAB函数和文件的工具集,其中许多工具是友好的、交互式的图形化用户接口。它是一个集成化的工作空间,可以让用户输入、输出数据,并提供了M文件的集成编译和调试环境。它包括MATLAB桌面、命令窗口、M文件编辑调试器、代码分析器(Code Analyzer),以及查看帮助、工作空间、文件和其他工具的浏览器。2.MATLAB数学函数库

MATLAB数学函数库包括了大量的计算算法,提供了大约600多个数学和工程上常用的函数,这些函数的数学运算是针对矩阵操作优化过的,计算效率高。MATLAB的数学函数包含了从基本运算,如加法、正弦函数等,到复杂算法,如矩阵求逆、矩阵求特征值、贝济埃函数、快速傅里叶变换、微分方程求解、稀疏矩阵运算等。3.MATLAB语言

MATLAB语言是一个高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。用户既可以用它来快速编写简单的程序,也可以用它来编写庞大复杂、重用性高的应用程序。4.MATLAB图形处理系统

图形处理系统使得MATLAB能方便地图形化显示向量和矩阵,而且能对图形添加标注和打印。MATLAB提供两个层次的绘图操作,一种是对图形句柄进行的底层绘图操作,另一种是建立在底层绘图操作之上的高层绘图操作。5.MATLAB应用程序接口

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

MATLAB为用户提供了全新的桌面操作环境,了解并熟悉这些桌面操作环境是使用MATLAB的基础,下面介绍MATLAB的启动、主要功能菜单、命令窗口(Command Window)、工作空间(Workspace)、文件管理和帮助管理等。1.4.1 MATLAB启动和退出

以Windows操作系统为例,进入Windows后,选择“开始”→“程序”→“MATLAB”,便可以进入如图1-1所示的MATLAB默认主窗口。如果安装时选择在桌面上生成快捷方式,也可以双击快捷方式直接启动。

MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。

主窗口的工具栏共提供了11个命令按钮。这些命令按钮均有对应的菜单命令,但使用起来比菜单命令更快捷、方便。

单击主窗口左下角的“Start”按钮,会弹出一个菜单,如图1-2所示。选择其中的命令可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的各种资源。

从图1-2中可以看出,MATLAB的主要资源有:(1)MATLAB主体:由MATLAB的编程集成环境、程序开发工具和与其他软件的扩展接口组成。(2)工具箱(Toolboxes):是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,例如优化工具箱就是专门用于最优化方面的应用。图1-1 MATLAB主窗口图1-2 单击“Start”按钮弹出的菜单(3)Simulink:是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。它是一种可视化仿真工具,是一种基于MATLAB的框图设计环境,在该环境中,无须大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。(4)模块集(Blocksets):是一个个的数学软件包,是在特殊应用领域中设计的Simulink程序的集合,系统仿真的关键部件。(5)自动代码生成工具(Links and Targets):将MATLAB中的Simulink程序框图自动转换成嵌入式ANSI C的代码,是第三方软件和硬件应用Simulink的工具。

常用的退出MATLAB系统的方式有三种:

• 在文件菜单(File)中选择“Exit MATLAB”;

• 在命令窗口输入“exit”;

• 用鼠标单击窗口右上角的关闭图标。1.4.2 MATLAB主菜单及功能

打开MATLAB主窗口后,即弹出其主菜单栏,共包含File、Edit、Debug、Parallel、Desktop、Window和Help共7个菜单项。主菜单栏的各菜单项及其下拉菜单的功能简要介绍如下。1.File主菜单项

File主菜单项实现有关文件的操作,其下拉菜单有:(1)New:用于建立新的.m文件、图形、模型和图形用户界面。(2)Open:用于打开MATLAB的.m文件、.fig文件、.mat文件、.mdl文件、.cdr文件等,也可通过快捷键“Ctrl+O”来实现此项操作。(3)Close Command Window:关闭命令窗口。(4)Import Data:用于从其他文件导入数据,单击后弹出对话框,选择导入文件的路径和位置。(5)Save Workspace As:用于把工作空间的数据存放到相应的路径文件中。(6)Set Path:设置工作路径。(7)Preferences:用于设置命令窗口的属性,单击该选项弹出一个属性画面。(8)Page Setup:用于页面设置。(9)Print:用于设置打印属性。(10)Print Selection:用于对选择的文件数据进行打印设置。(11)Exit MATLAB:退出MATLAB桌面操作环境。2.Edit主菜单项

Edit主菜单项用于命令窗口的编辑操作,其下拉菜单有:(1)Undo:用于撤销上一步操作。(2)Redo:用于重新执行上一步操作。(3)Cut:用于剪切选中的对象。(4)Copy:用于复制选中的对象。(5)Paste:用于粘贴剪贴板上的内容。(6)Paste to Workspace:用于打开Import Wizard(输入向导)对话框,将剪贴板上的数据粘贴到MATLAB的工作空间中。(7)Select All:用于全部选择。(8)Delete:用于删除所选的对象。(9)Find:用于查找所需选择的对象。(10)Find Files:用于查找所需文件。(11)Clear Command Window:用于清除命令窗口区的对象。(12)Clear Command History:用于清除命令窗口区的历史记录。(13)Clear Workspace:用于清除工作区的对象。3.Debug主菜单项

用户可以通过Debug菜单进行程序调试时的各种设置,其下拉菜单有:(1)Open M-Files when Debugging:用于调试时打开M文件。(2)Step:用于单步调试程序。(3)Step In:用于单步调试进入子函数。(4)Step Out:用于单步调试从子函数中跳出。(5)Continue:程序执行到下一断点。(6)Clear Breakpoints in All Files:清除所有打开文件中的断点。(7)Stop if Errors/Warnings:在程序出错或报警处停止往下执行。(8)Exit Debug Mode:退出调试模式。4.Parallel主菜单项

Parallel菜单用来进行并行计算方面的设置,其下拉菜单有:(1)Select Configuration:选择并行计算的配置类型。(2)Manage Configuration:对配置进行管理。(3)Admin Center:打开并行计算的管理中心。

并行计算的设置比较专业,一般不去进行设置。5.Desktop主菜单项

Desktop菜单用来设置主窗口中需要打开的窗口,其下拉菜单有:(1)Desktop Layout:单击该项后,弹出一个子菜单,用于桌面显示方式的设置,其设置选项包括系统默认设置项(Default)、单独命令窗口项(Command Window Only)、命令历史窗口和命令窗口项(History and Command Window)、全部标签项显示(All Tabbed)。(2)Save Layout:保存选定的桌面显示方式设置。(3)Organize Layouts:管理保存的桌面显示方式设置。(4)Command Window:控制在桌面系统中显示或隐藏命令窗口。(5)Command History:控制在桌面系统中显示或隐藏历史命令窗口。(6)Current Directory:控制在桌面系统中显示或隐藏当前路径浏览器窗口。(7)Workspace:控制在桌面系统中显示或隐藏工作空间窗口。(8)Help:控制在桌面系统中显示或隐藏帮助界面。(9)Profiler:控制在桌面系统中显示或隐藏调试器界面。(10)Editor:控制在桌面系统中显示或隐藏M文件编辑窗口。(11)Figures:控制在桌面系统中显示或隐藏图形窗口。(12)Web Browser:控制在桌面系统中显示或隐藏Web Browser窗口。(13)Variable Editor:控制在桌面系统中显示或隐藏工作空间变量编辑窗口。(14)File and Directory Comparisons:控制在桌面系统中显示或隐藏文件和目录比较窗口。(15)Toolbar:控制在桌面系统中显示或隐藏工具栏选项。(16)Titles:控制在桌面系统中显示或隐藏标题栏选项。6.Window主菜单项

Window菜单能够在所打开的文件或者窗口中,重新设置它们的位置和大小,还可以实现它们之间的快速切换,其下拉菜单有:(1)Close All Documents:关闭所有文档,包括M-file、Figure、Model和GUI窗口。(2)0Command Window:选定命令窗口为当前活动窗口。(3)1Command History:选定命令历史窗口为当前活动窗口。(4)2Current Directory:选定当前路径窗口为当前活动窗口。(5)3Workspace:选定工作空间窗口为当前活动窗口。7.Help主菜单项

Help主菜单项用于提供帮助信息,其下拉菜单有:(1)Product Help:显示所有MATLAB产品的帮助信息。(2)Function Browser:启动MATLAB帮助。(3)Using the Desktop:启动Desktop的帮助。(4)Using the Command Window:启动命令窗口的帮助。(5)Web Resources:显示Internet上一些相关的资源网址。(6)Get Product Trials:申请试用版的MATLAB软件。(7)Check for Updates:检查软件是否更新。(8)Licensing:授权文件的一些相关操作。(9)Demos:调用MATLAB所提供的范例程序。(10)Terms of Use:显示MATLAB软件中使用的术语。(11)Patents:显示MATLAB软件的专利信息。(12)About MATLAB:显示有关MATLAB的信息。1.4.3 MATLAB命令窗口

MATLAB的命令窗口(Command Window)如图1-3所示,它用于MATLAB命令的交互操作。1.命令窗口的主要功能和操作

命令窗口具有两大主要功能:(1)提供用户输入命令的操作平台,用户通过该窗口输入命令和数据;(2)提供命令执行结果的显示平台,该窗口显示命令执行的结果。图1-3 MATLAB的命令窗口

在命令窗口内执行的MATLAB主要操作有:

• 运行函数和输入变量;

• 控制输入和输出;

• 执行程序,包括M文件和外部程序;

• 保存一段日志;

• 打开或关闭其他应用窗口;

• 各应用窗口的参数选择。

计算机安装好MATLAB之后,双击MATLAB图标,就可以进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。

MATLAB语句形式为:>>变量=表达式。

通过等号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。

使用方向键和控制键可以编辑、修改已输入的命令,↑键回调上一行命令,↓键回调下一行命令。使用“more off”表示不允许分页,“more on”表示允许分页,“more (n)”表示指定每页输出的行数。回车前进一行,空格键显示下一页,“q”结束当前显示。

如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。例如,输入下列式子时,可以通过两行输入。说明

三个小黑点是“连行号”,分号“;”的作用是:指令执行结果将不显示在屏幕上,但变量S将驻留在内存中。

注意,在输入符“>>”之前有函数浏览器(Browse for functions),单击图标,弹出一个函数浏览器窗口,在里面可以输入所需查看的函数名,如图1-3所示。函数浏览器是函数使用的很好的助手,可以方便地进行函数查找以及函数参数的自动帮助。2.命令窗口的常用命令

MATLAB提供了一组可以在命令窗口中输入的命令,以执行相应的操作,常用的命令及功 能如表1-1所示。表1-1 命令窗口中常用的命令及功能1.4.4 MATLAB工作空间

MATLAB的工作空间如图1-4所示。

工作空间中的变量以变量名(Name)、数值(Value)和类型(Class)的形式显示出来,双击某个变量,将进入变量编辑器(Variable Editor),可以直接观察变量中具体元素的值,也可以直接修改这些元素。1.工作空间的工具条

MATLAB7的工作空间中还有一个工具条,可快捷地在工作空间中进行许多操作,这些操作在图1-4中标注出来了,简单介绍如下。

•(增加新变量):在工作空间中增加一个新的变量,并可对此变量进行赋值、修

改等操作。

•(打开选定的变量):将工作空间中选定的变量在变量编辑器中打开,可对此变

量进行修改等操作。图1-4 MATLAB的工作空间

•(导入数据):将MATLAB支持格式的数据导入到工作空间中。

•(将变量保存为文件):将工作空间中选定的变量以文件的形式保存起来。

•(删除变量):将工作空间中选定的变量删除。

•(将变量绘制成图形):将工作空间中选定的变量绘制成图形,支持的绘图函数有plot、bar、stem、stairs、area、pie、hist和plot3等。若在工作空间选择某变量后,再单击该图标,便可实现对该变量的曲线、曲面等图形的绘制。2.工作空间的变量编辑器

变量编辑器是编辑数组变量的工具,其形式有如Excel电子表格,只是它仅能修改及显示,没有计算的功能。在工作空间中选定变量,然后双击,便可进入如图1-5所示的变量编辑器窗口。图1-5 变量编辑器窗口

在编辑器中,可以对变量进行修改、删除、增加等操作,非常方便。

需要注意的是:由于大型矩阵不容易由命令窗口输入,因此采用变量编辑器更为方便。变量编辑器可与Excel表格的数据相通,只要将Excel表格中的数据复制到编辑器中的某一变数内即可。原则上,变量的输入以行向为主,要增加一行,只要将其中元素的位置增加即可。其余没有数据的空间则以零代替。3.工作空间相关的常用命令

MATLAB还有几个常用的工作空间操作的命令,分别是who、whos、clear、size、length,其各自功能描述如下。

• who:显示当前工作空间中所有变量的一个简单列表。

• whos:列出变量的大小、数据格式等详细信息。

• clear:清除工作空间中的所有变量。

• clear变量名:清除指定的变量。

• size(a):获取向量a的行数与列数。

• length(a):获取向量a的长度,并在屏幕上显示。如果a是矩阵,则显示的参数为行数中的最大值。4.工作空间的数据存取函数

MATLAB提供了保存(save)和载入(load)工作空间的函数。(1)save 函数

save命令是将MATLAB工作空间中的变量存入磁盘,具体格式介绍如下。

• save:将当前MATLAB工作空间中所有变量以二进制格式存入名为matlab.mat(默认的文件名)的文件中。

• save dfile(文件名):将当前工作空间中所有变量以二进制格式存入名为dfile.mat的文件,扩展名自动产生。

• save dfile x:只把变量x以二进制格式存入dfile.mat文件,扩展名自动产生。

• save dfile.dat x –ascii:将变量x以8位ASCII码形式存入dfile.mat文件。

• save dfile.dat x –ascii –double:将变量x以16位ASCII码形式存入dfile.mat文件。

• save(fname, 'x', '-ascii'):fname是一个预先定义好的包含文件名的字符串,该用法

将变量x以ASCII码形式存入由fname定义的文件中,由于在这种用法中,文件名是一个字符变量,因此可以方便地通过编程的方法存储一系列数据文件。(2)load函数

load命令是将磁盘上的数据读入到工作空间,具体格式介绍如下。

• load:把磁盘文件matlab.mat(默认的文件名)的内容读入内存,由于存储.mat文件时已包含了变量名的信息,因此调回时已直接将原变量信息带入,不需要重新赋值变量。

• load dfile:把磁盘文件dfile.mat的内容读入内存。

• load dfile.dat:把磁盘文件dfile.mat的内容读入内存,这是一个ASCII码文件,系统自动将文件名(dfile)定义为变量名。

• x=load(fname):fname是一个预先定义好的包含文件名的字符串,将由fname定义文件名的数据文件读入变量x中,使用这种方法可以通过编程方便地调入一系列数据文件。1.4.5 M文件编辑/调试器

将MATLAB语句按特定的顺序组合在一起就得到了MATLAB程序,其文件名的后缀为.m,故也称为M文件。MATLAB7.x提供了M文件的专用编辑/调试器,在编辑器中,会以不同的颜色表示不同的内容:命令、关键字、不完整字符串、完整字符串及其他文本,这样就可以发现输入错误,缩短调试时间。

M文件编辑/调试器如图1-6所示。图1-6 M文件编辑/调试器1.M文件编辑器的特点

MATLAB编辑器与其他Windows编辑程序类似,此处不再赘述,只对下列几点做特别说明。(1)在编辑M文件时,可直接转到指定的行,这可从Go菜单中选择Go To命令来完成。(2)可直接计算M文件中表达式的值,结果显示在命令窗口中,这可通过选择表达式,然后在Text菜单中选择Evalueate Selection命令来实现。(3)可根据MATLAB的句法自动缩排,以增加M文件的可读性。先选择文本块,然后按鼠标右键,在Text菜单中选择Smart Indent命令来实现。2.编辑器的工具栏

下面只对此工具栏中特殊的按钮控件进行介绍,如表1-2所示。表1-2 工具栏中特殊的按钮控件续表1.4.6 图形窗口

MATLAB图形窗口(Figures)主要用于显示用户所绘制的图形。通常只要执行了任意一种绘图命令,图形窗口就会自动产生。绘图都在这一个图形窗口中进行。如果再建一个图形窗口,则可键入figure命令,MATLAB会新建一个图形窗口,并自动给它排出序号。

MATLAB的图形窗口如图1-7所示。它是MATLAB绘图功能的基础,使用极其方便。其菜单和工具栏更是增添了交互处理的功能。图1-7 图形窗口1.图形窗口的菜单栏

图形窗口的Desktop(桌面)菜单、Window(窗口)菜单和Help(帮助)菜单,与其他系统的大致一样,也比较简单,可以对照学习,在此不再叙述。下面只对差别较大的菜单项进行介绍。(1)File菜单

其主要功能命令与桌面平台的File菜单相近,只是增加了图形输出Generate M-file命令、Export Setup、Print Preview和Print命令。

• Generate M-file命令可以生成当前图形的M文件。

• Export Setup命令可以打开Export Setup(图形输出设置)对话框。

• Print Preview命令可以打开打印预览对话框。(2)View菜单

其中的Figure Toolbar命令用于控制是否显示图形窗口中的工具栏,而Camera Toolbar命令用于控制是否显示图形窗口中的照相操作工具栏。(3)Insert菜单

通过该菜单,可以在图形窗口中添加不同的对象,主要有X Label、Y Label、Z Label、Title、Legend(图例)、Colorbar(颜色条)、Line、Arrow、Text Arrow、Double Arrow、TextBox、Rectangle、Ellipse、Axes和Light(光源)等。(4)Tools菜单

包括简单的图形操作和照相操作,在此只介绍图形操作。

• Basic Fitting命令可以打开图形基本数据拟合对话框。在该对话框中,用户可以根据需要选择拟合的数据源(Select data)、拟合方式(Check to display fits on figure)、拟合函数的显示(Show equations)、数值的有效位数(Significant digits)以及是否显示残差(Plot residuals)和是否显示最大残差模(Show norm of residuals)等。

• Data Statistics命令可以打开图形数据统计分析对话框。对话框中可以选择数据的最小值(min)、最大值(max)、平均值(mean)、中值(median)以及均方差(std)等。2.图形窗口的工具栏

下面只对此工具栏中特殊的按钮控件进行介绍,如表1-3所示。表1-3 工具栏各按钮控件的图例及功能1.4.7 MATLAB文件管理

MATLAB提供了一组文件管理命令,包括列文件名、显示或删除文件、显示或改变当前目录等,相关的命令及其功能如表1-4所示。表1-4 MATLAB常用文件管理命令1.4.8 MATLAB帮助使用

MATLAB为用户提供了非常丰富的帮助信息,如软件产品帮助(Product Help)、函数帮助(函数浏览器)、网络资源帮助等,极大地完善了该应用软件的功能。

MATLAB在命令窗口提供了可以获得帮助的命令,用户可以很容易地获得联机帮助信息,几个常用的帮助命令介绍如下。(1)helpwin:帮助窗口。(2)helpdesk:帮助桌面,浏览器模式。(3)lookfor:返回包含指定关键词的项。(4)demo:打开示例窗口。

MATLAB还提供了丰富的help命令,如表1-5所示,在命令窗口中输入相关命令就可以获得相关的帮助。表1-5 MATLAB常用帮助命令1.5 MATLAB的工具箱

MATLAB的一个重要特色就是它具有一套程序扩展系统和一组称为工具箱(Toolbox)的特殊应用子程序。工具箱是MATLAB的关键部分,是MATLAB强大功能得以实现的载体和手段,它是对MATLAB基本功能的重要扩充。

MATLAB每年都会增加一些新的工具箱,要么是出现新的工具箱或实用工具,要么是原有工具箱的性能得到改进。因此,在一般情况下,工具箱的列表不是固定不变的,有关MATLAB工具箱的最新信息可以在http://www.mathworks.com/products中看到。

MATLAB有30多个工具箱,大致可分为两类:功能型工具箱和领域型工具箱。(1)功能型工具箱主要用来扩充MATLAB的符号计算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能用于多种学科;(2)领域型工具箱专业性很强,是针对某个专业的常用算法做成的函数包,如最优化工具箱(Optimization Toolbox)、信号处理工具箱(Signal Processing Toolbox)等。

运行MATLAB后,选择“Start”→“Toolboxes”,便会看到按字母顺序列出的MATLAB工具箱。

下面将最优化计算相关的工具箱进行简要介绍。1.优化工具箱(Optimization Toolbox)

• 线性规划和二次规划

• 求函数的最大值和最小值

• 多目标优化

• 约束条件下的优化

• 非线性方程求解2.全局优化工具箱(Global Optimization Toolbox)

• 全局搜索

• 多起点搜索

• 模式搜索求解

• 遗传算法求解

• 模拟退火求解3.符号数学工具箱(Symbolic Math Toolbox)

• 符号表达式和符号矩阵的创建

• 符号微积分、线性代数、方程求解

• 因式分解、展开和简化

• 符号函数的二维图形

• 图形化函数计算器4.样条工具箱(Spline Toolbox)

• 分段多项式和B样条

• 样条的构造

• 曲线拟合及平滑

• 函数微积分1.6 小结

本章首先概要讲述了MATLAB的产生和发展历程、优势及特点,然后一一讲述了MATLAB的系统结构、工具箱和桌面操作环境,本章是全书内容的基础,需要扎实掌握。第2章 MATLAB计算基础

MATLAB也是一门计算语言,它的运算指令和语法基于一系列基本的矩阵运算以及它们的扩展运算,还支持复数这一数值元素,这也是MATLAB区别于其他高级语言的最大特点之一,它给许多领域的计算带来了极大的方便。2.1 MATLAB数值类型

MATLAB包括4种基本数据类型,即双精度数组、字符串数组、元胞数组、构架数组。数值之间可以相互转化,这为其计算功能开拓了广阔的空间。1.变量与常量

变量是数值计算的基本单元。与C语言等其他高级语言不同,MATLAB语言中的变量无须事先定义,一个变量以其名称在语句命令中第一次合法出现而定义,运算表达式变量中不允许有未定义的变量,也不需要预先定义变量的类型,MATLAB会自动生成变量,并根据变量的操作确定其类型。(1)MATLAB变量命名规则

MATLAB中的变量命名规则如下:

• 变量名区分大小写,因此A与a表示的是不同的变量,这一点初学者尤其要注意;

• 变量名以英文字母开始,第一个字母后可以使用字母、数字、下画线,但不能使用空格和标点符号;

• 变量名长度不得超过31位,超过的部分将被忽略;

• 某些常量也可以作为变量使用,如i在MATLAB中表示虚数单位,但也可以作为变量使用。

常量是指那些在MATLAB中已预先定义其数值的变量,默认的常量如表2-1所示。表2-1 MATLAB默认常量(2)MATLAB变量的显示

任何MATLAB语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。format命令只影响结果的显示,不影响其计算与存储。MATLAB总是以双字长浮点数(双精度)来执行所有的运算。如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有如表2-2所示的几种形式。表2-2 MATLAB的数据显示格式(3)MATLAB变量的存取

工作空间中的变量可以用save命令存储到磁盘文件中。输入命令“save<文件名>”,将工作空间中的全部变量存到“<文件名>.mat”文件中去,若省略“<文件名>”则存入文件“matlab.mat”中;命

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载