书籍详情

精通MATLAB 6.5版教程

精通MATLAB 6.5版教程

作者:张志涌 编著

出版社:北京航空航天大学出版社

出版时间:2003-03-01

ISBN:9787810772259

定价:¥59.00

购买这本书可以去
内容简介
  《精通MATLAB 6.5版教程》第一章系统讲述MATLAB 6.5的集成工作平台,引导读者学会MATLAB基本用法。第二、三章系统叙述MATLAB 6.5的四大基本数据类型(数值数组、字符串数组、元胞数组、构架数组),至于其他扩展数据类型(函数句柄、符号数据、内联函数、unit数组、稀疏类)则另辟章节专述。此后,《精通MATLAB 6.5版教程》用九个独立章分述MATLAB 6.5的数值计算、符号计算、函数和数据可视、向向对象编程、CUI交互操作界面设计、EXE独立应用程序生成、实现不同软件交互的API、M-book数据图形文字环境集成等八大通用功能。《精通MATLAB 6.5版教程》用专门的一章深入浅出阐明SIMULINK的分层建模、仿真功能、与MATLAB交互的功能。全书包含390多个计算范例。所有算例的程序都经过上机调试,可靠、完整。读者可以在自己的MATLAB环境中准确地重视《精通MATLAB 6.5版教程》所提供的算例结果。这将使读者很快掌握要领,从模仿走向灵活应用。书中正文(包括算例)所涉及的指令全部列在"附录A:索引"中,用户很容易根据关键字符找到相关的正文说明和算例应用。《精通MATLAB 6.5版教程》由纸质媒介体和电子媒体有机结合而成。纸质媒体便于读者进行系统、全面、长时间连续地阅读,随心的翻阅、浏览;而电子媒体向读者提供更多的色彩信息和动态交互的软件环境,提供读者实践《精通MATLAB 6.5版教程》内容所需的各种文件。《精通MATLAB 6.5版教程》随带包含700多个文件的光盘。光盘文件包含:可直接在Notebook中运行的全部算例的M-book DOC文件;可在MATLAB环境中草药直接运行的算例M和MDL文件;可供读者实践MATLAB编译器及API的所有文件;可在PowerPoint中放映幻灯的PPT文件。它们不仅有效地提供了纸质媒体所不具备的交互能力和色彩感染力,而且弥补了纸质媒体没有SIMULINK模型源码文件、没有PPT源码文件、没有编译源工作和验证文件的缺陷。《精通MATLAB 6.5版教程》既可作为理工科院研究生、本科生系统学习的教材,又可以作为广大科技工作者掌握和精通MATAL的自学用书和使用手册。
作者简介
  张志涌,籍贯无锡,教授,获政府专项津贴,IEEE高级会员、中国智能自动化专委会委员、江苏省自动化学会常务理事;先后受教育于清华大学自动控制系、上海交通大学电工及计算机科学系、荷兰王国 Eindhoven 技术大学电气工程系。1990年前主要从事控制理论、控制工程、系统辨识等方面的研究和工程开发;1990-97年期间主要从事系统辨识、故障诊断、计算机仿真等方面的科学研究。在此期间,先后主持并完成包括国家自然科学基金项目、国家教委留学生基金项目、省自然科学基金项目等在内的各级科研项目近十项,如“容差网络故障诊断的方向信号强度比研究",“矩阵仿真实验室”。1997年起,研究的主要兴趣是:无线通信中的信号估计、信道辨识和均衡、无线通信系统的计算机仿真研究。在此期间,主持完成了部预研项目“智能技术与MATLAB的应用研究”。现正主持国家自然科学基金项目“采用 近似算法的盲信道均衡”的研究。在“通信学报”、“电子学报”、“自动化学报”、“电子科学学刊”、“CircuitsTheory and its Applications”等国内外学术期刊、学术会议上,以独立作者或第一作者身份发表发表论文30余篇,其中多篇被EI、SCI收录。此外,以独立作者或第一作者身份发表《精通MATLAB》等著作3部,约250万字。
目录
1. MATLAB的发展历程和影响
  MATLAB名字由MATrix和LABoratory两词有前3个字母组合而成。20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的"通俗易用"的接口,此即用FORTRAN编写的萌芽状态的MATLAB。  经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了Math Works公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。  MATLAB商品形式出现后的短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包纷纷淘汰,而改在MATLAB平台上重建。20世纪90年代,MATLAB已成为国际控制界公认的标准计算软件,而且在国际上30多个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头。  Math Works公司于1993年推出了基于Windows平台的MATLAB 40。4.x版在继承和发展其原有数值计算和图形可视能力的同时,出现了以下几个重要变化:(1)推出了SIMULINK,一个交互式操作的动态系统建模、仿真、分析集成环境。(2)推出了符号计算工具包。一个以Maple为"引擎"的Symbolic Math Toolbox 1.0。(3)构作了Notebook。Math Works公司瞄准应用范围最广的Word,运用DDE和OLE,实现了MATLAB与Word的无连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。从1997年春的5.0版起,后历经5.1、5.2、5.3、6.0、6.1等多个版本的不断改进,MATLAB"面向对象"的特点愈加突出,数据类型愈加丰富,操作界面愈加友善。2002年夏推出的6.5版,其最大特点是:该版本采用了JIT加速器,使MATLAB的运算速度向可以比肩C程序的方向前进了一大步。  假如说,在20世纪90年代,控制类相关学科新旧教科书的区别性标志?quot;教材是否包含MATLAB内容",那么进入21世纪后,MATLAB对教材的影响以崭新的形式出现:新教材正在更彻底地摒弃那些手工计算、计算尺计算、手摇或电动计算机、电子模拟计算机时代建立的"老的但长久被当作经曲的"表述、分析和计算方法,而逐步地建立以现代计算工具(包括软硬件)为平台的新的表述、分析和计算方法,其中包括采用交互式图形用户界面去完成各种表述、分析和计算目的。2. 本书沿革  本书是作者多年教学、科研和写作的结晶,其主要发展脉络如下。· 1992年,《科技编程语言KINDTOOL》讲义。KINDTOOL由DOS环境下的 MATLAB3.0 经汉化而得。· 1997年,《掌握和精通MATLAB》。该书全面介绍了Windows平台上的MATLAB4.2c,由北京航空航天大学出版社出版,得到了读者的一致好评。· 2000年,《精通MATLAB 5.3》(以下称此书为"旧版")。该书全面详尽、层次丰满地阐述了MATLAB 5.3T版几乎全部的通用功能。该书附带光盘,大大扩展了应用价值,由北京航空航天大学出版社于2000年8月出版。· 2001年4月,又以MATLAB 6.0为基础,编写出版了《MATLAB教程》。该书是为满足教材使用和简明自学需要而编写的。其特点是:全面完整而精练简明,系统流畅,配备自测习题;内容稳定又及时适应MATLAB最新版本。3. 本书的编写宗旨· 全面反映MATLAB最新版本的通用功能,淡化学科性强的专用功能;· 着力描绘各指令和协调配合,简化指令用法的笼统解释;· 寓教于例,由浅入深;即讲机理,又讲程式规则;· 关于科学计算,着重强调理论概念、教材算法和实际计算三者间的关系,着重强调现代计算工具(软、硬件)对传统计算、设计方法的影响和冲击;· 诚实面对读者,所有算例都经反复运作验证,而决非转抄潦草之作;· 为方便读者学习、使用,随书光盘包含了全书的所有算例文件,可在MATLAB或Notbook环境中直接运行。  以上编写宗旨是作者多年的习惯和风格。作者因此得到了广大读者的有力支持和赞誉。特别是随书光盘给读者带去的彩色和可靠易用的程序更受欢迎。 4. 全书结构、梗概及新增内容(1) 全书的结构和功用
  全书由"前言"、"目录"、"正文"、"附录"、"参考文献"和"随书光盘"组成。
· "目录"
  目录由4级标题构成。通过目录,读者可以清晰地看到本书的完整框架,方便地查到所需内容的位置。
· "正文"
  全书共分13让步,包含算例390多年。章节内容是遵循"由浅入深"、"相对独立"和"算例引导"原则安排的。从全书看,概念相对简单的篇章安排在前;每章中,操作比较容易的节次安排在前。新版算例"深浅"层次远比前版丰富。每章的入门或前一、二节的简单算例,不管读者原先用过MATLAB与否,总可以让读者轻松地学会MATLAB各种功能的初步使用。而配置在各章中的综合算例,将向读者展示MATLAB解决复杂问题的可能途径,引导读者向纵深发展。正文内容的安排既考虑了系统讲授的需要,又考虑了不同水平读者自学和查阅的需要。
  新旧版的章节区别:(1) 旧版第一章"概论"被删去,其主要内容被删减后融于新版的前言中。(2) 本书第十二章"应用程序接口API"是根据MATLAB 6.5重新编写的。(3) 本书其余各章的名称与旧版相对应,但春内容都以6.5为基础进行了修改和增补。· 附录A"索引"
  汇集了本书涉及的所有MATLAB标点符号、函数指令、SIMULINK库模块、图形对象属性以及用于API的各种指令。除标点符号外均根据英文字母的次序排列。每个英文指令(或符号、属性、模块)后,列出该指令以不同方式被介绍、使用的具体节次。该"索引"主要用做英文关键词查阅。· 附录B"光盘使用说明"详细介绍了光盘文件的种类、工作环境和使用方法。· "参考文献"列出了本书成文的文献基础。读者如有疑惑或想寻根求源,这部分资料十分有用。· "随书光盘"盘上存放着700多个文件。它们提供了与印刷对应算例运行的几乎所有文件。(2) 正文概要· "第一章基础准备及入门"专门介绍最常用的交互界面:通用指令窗、历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器、交互界面分类目录窗、W文件编辑/调试器以及帮助导航/浏览器。  本章内容与旧版完全不同。这是因为6.5版向用户提供前所未有的、成系列的交互式工作界面。了解、熟悉和掌握这些交互界面的基本功能和操作方法,将使新老用户能事半功倍地利用MATLAB去完成各种学习和研究。
· "第二章数值数组及其运算"集中叙述一维、二维、任意高维双精度数值精组的生成和操作。这是MATLAB最常用的最基本又最传统的数据类型,定义在此类"对象"上的"方法"就是最有魅力的数组运算。本章所涉内容和方法,不仅用于数值数组,而且也可用于其他数据结构中。  MATLAB 6.5运用新的逻辑数据类型,大大扩充了逻辑运算指令。· "第三章字符串、元胞和构架数组"系统阐明这些数据类型的基本性质、用法要旨。读者千万不要小瞧这一章,因为"构成MATLAB指令的M文件"中就大量使用这些数据类型,只有理解这些数据类型才能真正灵活运用MATLAB指令,尤其是泛函指令、图形对象、图形用户界面的各种控件等。
应该指出LMATLAB 6.5的数据类型有较大变化。本书反映了这种变化。
· "第四章数值计算"的篇幅在本书所有章节中最长,因为正是这顶级水准的数值计算使MATLAB立射于世界、称雄于天下。本章对数学问题的描述遵循"最低限度自封闭"原则,即以最简明的方式阐述理论数学、数值数学和MATLAB计算指令间的内在联系和差别。比如在讨论线性方程解时,本书总是先回顾性地列出若干常见的"教科书解法",并指出这些理论算法在实际应中用的缺陷,然后在简述数值计算原理的基础上给出精良的MATLAB计算指令。  对于第四章涉及较宽知识的地方,本书都配置了综合性算例。跟随着解题步骤,读者不难掌握MATLAB所提供的相关解题指令和工具。但需要说明的是:本章部分内容的知识跨度可能较大,读者不必企求一口气读完或读懂本章的所有内容。   随着MATLAB从5.3升级到6.5版,本章内容有3个重要变化:① 由于MATLAB数值计算基础软件变化,导致许多数值计算结果在前后版本不同;② 泛函指令对函数的操作借助新引进的"函数句柄"实施;③ 新增了微分方程边值问题求解的内容。· "第五章符号计算"内容受MATLAB版本升级影响较小,只有细微变化。这种内容变化主要反映在第5.4.1节。符号计算与理论数学的演绎过程相似,读者很容易掌握。本章内容包括:各种代数方程、微分方程的求解,解析微积分的求取,Fourier、Laplace变换的封闭表达式,任意精度的数值解等。· "第六章数据和函数可视化"围绕数据成图机理、绘图要旨和修饰技法系统介绍"高层"绘图指令和交互操作工具。作者是通过60来个算例向读者展求的。
  MATLAB从5.x向6.5版本升级后,旧版中的本章全部内容几乎可以不加修改地用于6.5版。但为适应升级,新版作了如下改变:① 新增了控制图形对象"面"、"块"、"象"透明属性的内容,进一步增强了图形感染力。② 新增了关于unit8,unit16数据类型进行图像数据存储的内容;③ 对MATLAB升级后图形窗界面的编辑功能进行了新的全面阐述。· "第七章M文件和面向对象编程"的内容在理解MATLAB自身和应用MATLAB两方面都有十分重要的作用。本章只用很少篇幅对MATLAB传统控制流进行简述,而大量和篇幅用于阐述新功能:较特殊的控制流;变长度输入输出宗量;跨空间运作的串演算指令和赋值指令;内联函数、子函数、私有函数和P伪码文件;M文件编辑调试器;程序运行性能剖析器;面向对象编程技术。  本章新版最主要的变化是:增加了关于函数句柄如何创建和如何使用的内容;根据MATLAB 6.5重写了程序运行剖析器;采用算例展示了6.5版特具的JIT加速器的作用。· "第八章SIMULINK交互式仿真集成环境"系统介绍建模和分析方法,特别着重于阐述:模型处理向量信号的能力;借助简装和精装子系统进行的"分层"建模方法;复杂系统建模中不可缺少的逻辑关系运算和"使能"、"触发"技术;SIMULINK与MATLAB的协调动作。
  本章内容新旧版的变化主要表现在3个方面:① 由于伴随MATLAB的SIMULINK全面升级,SIMULINK的库界面和内容发生较大的变化,所以本章旧版的内容已在MATLAB 6.5基础上全面更新;② 涉及"条件执行子系统"的内容被全部更新;③ 为适应读者应用水平的提高,新增了第8.8节,专门论述S函数模块的创建和使用。· "第九章句柄图形"讲述图、轴、线、面、方、块、象、字、光等9种基本图形对象。与第6章的高层指令相比,本章的内容深入到了MATLAB可视化功能的内核。本章目的:第一,使读者深入理解高层绘图指令,从而绘制出更精细、生动和个性化的图形;第二,使读者能利用低层图形指令和图形对象属性开发专用绘图函数。
  本章新旧版之间没有实质性的变化,但新版已在MATLAB 6.5基础上进行了若干微小的更新。· "第十章图形用户界面GUI制作"专门讲述用户菜单、用户控件和图形用户界面的制作。本章内容不仅为制作满足"演示需要"的界面,而更重要的是制作"科学分析和综合研究需要"的交互界面。  由于MATLAB 6.5版的设计工作台与5.3版完全不同,本章新版重写了有关MATLAB提供的"界面设计工作台"的内容。· "第十一章MATLAB编译器"详细叙述:如何由M文件生成运行得较快的MEX文件;如何由M文件生成能脱离MATLAB环境运行的EXE程序。该章内容对从事应用开发的读者有一定的帮助。  由于MATLAB 6.5版采用的编译器已从原先过渡性的2.0版全面升级为3.0版,所以本章内容已在Compiler 3.0基础上全部重写。· "第十二章应用程序接口API"是为了适应读者提高应用MATLAB水平的要求而新增的一章。它包括:① 如何把已有的C程序改造成可在MATLAB中方便调用的指令;② 如何等借助MAT文件实现MATLAB与外部应用程序的数据交换;③ 如何在各种其他应用程序中利用MATLAB引擎技术;④ 如何应用ActiveX实现MATLAB与外部应用程序的通信;⑤ 如何借助DDE技术在MATLAB与其他外部程序间进行通信。
  该章完全而且值得指出:MATLAB 6.0版用于API的(MEX、MAT、及引擎)库函数许多已经被废止,本章内容是根据MATLAB 6.5编写的。· "第十三章Notebook"系统地叙述Notebook的安装、启动、和使用;最后一节则专门讲述,如何通过MATLAB、Notebook、PowerPoint三者之间的协调链接来制作科技演讲稿。该章内容对需要撰写科技论文、"电子版"科技著作、多媒体科技演讲稿的读者十分有用。   本章新版内容与旧版大致相同,但有些变化:① 关于Notebook的安装是针对变化了软件环境重写的。② 新增一节,专门介绍具有现场计算能力的幻灯片的制作。(3) 新版与旧版的主要差别· 本书全部算例的计算结果已在MATLAB 6.5上更新。这是因为矩阵和特征值计算指令不再以LINPACK和EISPACK库为基础,而建筑在计算速度更快、运行更可靠的LAPACK和ARPACK程序库的新基础上。  基础软件库变化产生的影响明显地表现在矩阵分解、特征向量、奇异向量等的计算结果上,也影响到隐性使用LAPACK和ARPACK的指令(如矩阵对数指令等)的计算结果。本书新版可保证读者在MATLAB 6.5环境下完全重现本书算例结果。· 新版紧随MATLAB升级:① 增加了一节"求解微分方程边值问题"的内容;② 介绍了新的积分指令qualdl和triplequad;③ 增添了一节如何对图形进行透明度控制的抽空;④ 用一节篇幅全面阐述新数据类型"函数句柄"的创建和使用;⑤ 完全重写了MATLAB编译器的内容;⑥ 完全重写了程序性能剖析器的内容,并展示了6.5版的JIT加速功能。·MATLAB升级使其所有交互界面都发生了较大变化,因此本书新版相应章节也和如下变动:① "第一章基础准备及入门"是完全新写的;② 关于"图形窗编辑功能"那节的内容是新写的;③ 关于"SIMULINK模块库和模型窗界面"的内容是重写;④ 关于"GUI设计工作界面"的内容是完全新写的。· 为适应读者对MATLAB理解和应用水平的提高,新版有如下变化:① 新添一节关于"uint8, unit16数据类型在图像存储中应用"的内容;② 新写一节关于"S函数在SIMULINK中应用"的内容;③ 新增一章关于"应用程序接口API"的内容;④ 在第十三章中新增一节,专门介绍在放映过程具有计算能力的幻灯片的制作。· 附录进行了内容的增补和更新。5. 本书的读者对象和使用建议  MATLAB自身性质决定了本书的主要读者对象是:需要数学计算、数学函数或计算结果可视的各类大学生、研究生、教师、研究人员和科技工作者。
  本书内容的自封闭性、390多个算例和完善的检索系统和随书光盘,使本书既能用做教材或自学用书,又能当作实践MATLAB的软件环境。本书内容不仅可作为MATLAB使用方法的参考手册,而且也可当作科学计算方法的选用参考书。
  MATLAB自身很强的综合性决定了本书有较大的知识跨度。书中有的章节涉及较深的数学,有的则涉及较多C或其他软件的知识;有的章节要求对微分方程有较好的理解,有的则需要对计算机色彩系统有较好的认识。作者在编写本书时,充分考虑了MATLAB的这种特点,也考虑了多方面读者的不同层次需要,在书中所有需要高层次知识的地方配置了相对简单的引导性算例。这样处理后,不管读者原来的知识背景如何,他们只要循着算例所给指令进行操作,就至少能直观地感受到这些指令的动作结果。假如再认真地阅读指令后的注解说明,就能举一反三,更好地掌握利用MATLAB解决这类问题的技法。
  当本书用做自学材料时,建议读者先从比较简单的内容开始,这部分内容一般被安排在第章的前一、二节。此外,建议自学者特别注意对书中所给算例的实践,注意通过算例感悟一般规则。
  当本书用做自学材料时,建议读者先从比较简单的内容开始。这部分内容一般被安排在每章的前一、二节。此外,建议自学者特别注意对书中的所给算例的实践,注意通过算例感司一般规则。
  当本书用做本科生教材时,应注意避开那些涉及较深数学的节次,如第五章中的奇异值分解、多项式拟合和非线性最小二乘、插值等内容。此外,由于第八、九、十、十一、十二章的应用场合比较专业,所以一般也不必列为本科教学内容。
  当本书被用做研究生教学参考书时,应根据不同学科研究生的知识背景对本书内容作一定的取舍。
  当本书被当作参考手册使用时,分类检索可从书前"目录"进行,而指令、模块、属性等关键词检索则应从书?quot;索引"着手。书中的大量应用实例与MATLAB自身帮助文件有很强的互补性。6. 随书的光盘文件  引入光盘的指导思想是:营造一个印刷版对应的软件环境,使读者能从"可直接运作的"不同形式的光盘文件中,更快更好地掌握和理解MATLAB。  光盘装载着容量约70M,各类文件700多个。这些文件可引出Notebook环境;可引出交互界面;可引出SIMULINK模型、运行界面;可引出编译环境、产生独立应用程序;可引出把幻灯放映、Word文字处理、MATLAB计算结合在一起的综合环境。  引入光盘解决了印刷版的如下几个问题:(1) 印刷版很难(甚至无法)表述MATLAB不断升级后的"交互"能力。(2) 印刷版很难以低价格表现文件或计算结果中的"色彩"信息。(3) 印刷版很难提供完整的SIMULINK模型文件。(4) 印刷版无法提供由编译而得的MEX文件和能独立运行的EXE文件。(5) 印刷版很难提供API中的很多其他应用程序的文件。  此外,光盘提供的文件可作为读者练习时的能照物,便于读者找出自己编写指令或文件运行失败的原因。
  本随书光盘内容曾被个别书籍大量复制剽窃。这类事情的发生给作者带来很大伤害。但作者在权衡光盘的利弊后,坚持原宗旨不变:为方便读者,继续携带随书光盘。望得到广大读者的支持和配合。7. 本书作者的期望  MATLAB本身是一个藏量极为丰富的资源库。因此,对大多数用户个体来说,一定有部分MATLAB内容看起来是"透明"的,即用户能明白其全部细节;另有些内容表现为"灰色",即用户虽明白其机理但不懂具体的执行细节;还有些内容则"全黑",即用户对它们完全无知。本书虽仅涉及MATLAB整体的很小一角,但就这部分内容就已经构成了对本书作者的严重挑战。
  本书新版初稿于2001年夏,后几易书搞。作者在写稿过程中遇到过不少困惑,通傺昂拖蜃仪虢趟淇朔苏庑┱习阅衙庥写砦蠛推1臼樗兴憷渚嗳嗽诓煌琍C机上独立运作验证,但仍不敢说百分之百的正确。在此,本书作者肯切期望得到各方面专家和广大读者的指正,电子信箱:zyzh@njupt. Edu. Cn。8. 致谢  本书结稿的此时此刻,我首先要感谢的是杨祖樱教授,她以妻子和前版作者的双重身份给予我永恒的支持,是她随时向我提供不同的认知和意见,分担写作中的甘苦。
  在本书写作中,我前后几届研究生徐彦琴、曹嵩、汪方盛、凌云、李昌、王俊等都做出很大的贡献。春中徐彦琴、汪方盛尤为突出。他们为本书设计了许多独具匠心的例题,不厌其烦对全书算例进行运算验证,逐字逐句地对全书内容进行校对。我深深感谢他们为本书所做的一切。
  最后要感谢北京航空航天出版社。感谢该社为本书前版所做的一切,也感谢该社对作者重写新版所给予的鼓励以及对作者的理解和支持。                                    作者
                                2002年12月于南京

目录 第一章 基础准备及入门(1)
1.1 MATLAB的安装和内容选择(1)
1.2 Desktop操作桌面的启动(3)
1.2.1 MATLAB的启动(3)
1.2.2 Desktop操作桌面简介(3)
1.3 Command Window运行入门(5)
1.3.1 Command Window指令窗简介(6)
1.3.2 最简单的计算器使用法(7)
1.3.3 数值、变量和表达式(11)
1.3.4 计算结果的图形表示(13)
14. Command Window操作要旨(13)
1.4.1 指令窗显示方式的操作(13)
1.4.2 数值计算结果的显示格式(13)
1.4.3 指令行中的标点符号(14)
1.4.4 指令窗的常用控制指令(15)
1.4.5 指令窗中指令行的编辑(15)
1.5 Command History和实录指令diary(16)
1.5.1 Command History历史指令简介(16)
1.5.2 历史指令行的再运行(17)
1.5.3 指令窗实录指令diary(18)
1.6 Current Directory、路径设置器和文件管理(18)
1.6.1 Current Directory当前目录浏览器简介(19)
1.6.2 MATLAB的搜索路径(21)
1.6.3 MATLAB搜索路径的扩展和修改(22)
1.7 Workspace Browser和Array Editor(22)
1.7.1 Workspace Browser工作空间浏览器简介(22)
1.7.2 现场菜单用于内存变量的查阅和输入(23)
1.7.3 Array Editor数组编辑器和大数组的输入(26)
1.7.4 数据文件的存取(26)
1.8 Launch Pad交互界面分类目录窗(28)
1.9 Editor/Debugger和脚本编写初步(29)
1.9.1 Editor/Debugger M文件编辑调试器简介(29)
1.9.2 M脚本文件编写初步(30)
1.10 帮助系统(31)
1.10.1 帮助方式概述(32)
1.10.2 Help Navigator/Browser帮助导航/浏览器简介(34)第二章 数值数组及其运算(38)
2.1 引导(38)
2.2 一维数组的创建和寻访(39)
2.2.1 一维数组的创建(39)
2.2.2 一维数组子数组的寻访和赋值(40)
2.3 二维数组的创建(41)
2.3.1 直接输入法(41)
2.3.2 利用M文件创建和保存数组(42)
2.4 二维数组元素的标识(42)
2.4.1 "全下标"标识(43)
2.4.2 "单下标"标识(43)
2.4.3 "逻辑性"标识(43)
2.5 二维数组的子数组寻访和赋值(44)
2.6 执行数组运算的常用函数(46)
2.6.1 函数数组运算规则的定义(46)
2.6.2 执行数组运算的常用函数(46)
2.7 数组运算的矩阵运算(47)
2.8 多项式的表达方式及其操作(49)
2.8.1 多项式的表达和创建(49)
2.8.2 多项式运算函数(49)
2.9 标准数组生成函数和数组操作函数(52)
2.9.1 标准数组生成函数(52)
2.9.2 数组操作函数(52)
2.10 数组构作技法综合(55)
2.11 高维数组(58)
2.11.1 高维数组的创建(59)
2.11.2 高维数组的标识(61)
2.11.3 高维数组构作和操作函数汇总(62)
2.12 "非数"和"空"数组(66)
2.12.1 非数NaN(66)
2.12.2 "空"数组(68)
2.13 关系操作和逻辑操作(70)
2.13.1 关系操作(70)
2.13.2 逻辑操作(71)
2.13.3 表达式中各种运算符的优先级(74)
2.13.4 关系、逻辑函数(75)第三章 字符串、元胞和构架数组(76)
3.1 字符串数组(76)
3.1.1 字符串入门(76)
3.1.2 串数组的属性和标识(77)
3.1.3 复杂串数组的创建(79)
3.1.4 中转换函数(82)
3.1.5 串操作函数(83)
3.2 元胞数组(84)
3.2.1 元胞数组的创建和显示(84)
3.2.2 元胞数组的扩充、收缩和重组(85)
3.2.3 元胞数组内容的调取(87)
3.2.4 元胞数组转换函数(88)
3.3 构架数组(89)
3.3.1 构架数组的创建和显示(90)
3.3.2 构架数组域中内容的调取和设置(92)
3.3.3 构架数组操作深入应用(94)
3.3.4 构架数组和元胞数组之间的转换(97)
3.4 关于数据类型的归纳性说明(100)第四章 数值计算(102)
4.1 引言(102)
4.2 LU分解和恰定方程组的解(103)
4.2.1 LU分解、行列式和逆(103)
4.2.2 恰定方程组的解(104)
4.2.3 范数、条件数和方程解的精度(105)
4.3 矩阵特征值和矩阵函数(107)
4.3.1 特征值和特征向量的求取(107)
4.3.2 特征值问题的条件数(109)
4.3.3 复数特征值对角阵与实数块特征值对角阵的转化(111)
4.3.4 矩阵的谱分解和矩阵函数(112)
4.4 奇异值分解(113)
4.4.1 奇异值分解和矩阵结构(113)
4.4.2 线性二乘问题的解(115)
4.5 函数的数值导数和切平面(116)
4.5.1 法线(117)
4.5.2 偏导数和梯度(117)
4.6 函数的零点(119)
4.6.1 多项式的根(119)
4.6.2 一元函数的零点(120)
4.6.3 多元函数的零点(123)
4.7 函数极值点(126)
4.7.1 一元函数的极小值点(126)
4.7.2 多元函数的极小值点(127)
4.8 数值积分(129)
4.8.1 一元函数的数值积分(129)
4.8.2 多重数值积分(134)
4.8.3 卷积(136)
4.9 随机数据的统计描述(141)
4.9.1 统计分布的数字特征(142)
4.9.2 样本分布的频数直方图描述(143)
4.9.3 概率函数、分布函数、逆分布函数和随机数的发生(144)
4.10 多项式拟合和非线性最小二乘(149)
4.10.1 多项式拟合(149)
4.10.2 非线性最小二乘估计(152)
4.11 插值和样条(158)
4.11.1 一维插值(158)
4.11.2 高维函数的插值(160)
4.12 样条函数及其应用(161)
4.12.1 样条插值(162)
4.12.2 样条函数用于数值积分和微分(164)
4.13 Fourier分析(166)
4.13.1 快速Fourier变换和逆变换指令(166)
4.13.2 连续时间函数的Fourier级数展开(167)
4.13.3 利用DFT计算一般连续函数的Fourier变换CFT (173)
4.14 常微分方程(176)
4.14.1 初值常微分方程的解算指令(177)
4.14.2 ODE解算指令的使用演示(179)
4.14.3 关于ODE文件的说明(184)
4.14.4 关于解算指令选项options的属性设置(187)
4.14.5 常微分方程的边值问题解(189)
4.15 稀疏矩阵(195)
4.15.1 稀疏矩阵的存储方式(195)
4.15.2 稀疏矩阵的创建(196)
4.15.3 稀疏矩阵的运算(198)第五章 符号计算(200)
5.1 符号对象和符号表达式(200)
5.1.1 符号对象的生成和使用(200)
5.1.2 符号计算中的算符和基本函数(203)
5.1.3 识别对象类别的指令(204)
5.1.4 符号表达式中自由变量的确定(205)
5.2 符号表达式和符号函数的操作(206)
5.2.1 符号表达式的操作(206)
5.2.2 符号函数的求反和复合(208)
5.2.3 置换及其应用(209)
5.2.4 符号数值精度控制和任意精度计算(210)
5.2.5 符号对象与其他数据对象间的转换(211)
5.3 符号微积分(213)
5.3.1 符号序列的求和(213)
5.3.2 符号微分和jacobian矩阵(213)
5.3.3 符号积分(214)
5.3.4 符号卷积(216)
5.4 符号积分变换(217)
5.4.1 Fourier变换及其反变换(217)
5.4.2 Laplace变换及其反变换(220)
5.4.3 Z变换及其反变换(221)
5.5 符号代数方程的求解(222)
5.5.1 线性方程组的符号解(222)
5.5.2 一般代数方程组的解(223)
5.6 符号微分方程的求解(225)
5.6.1 符号解法和数值解法的互补作用(225)
5.6.2 求微分方程长符号解的一般指令(225)
5.6.3 微分方程符号解示例(226)
5.7 利用MAPLE的深层符号计算资源(227)
5.7.1 经典特殊函数的调用(227)
5.7.2 MAPLE库函数在线帮助的检索树(228)
5.7.3 发挥MAPLE的计算潜力(229)
5.8 可视化数学分析界面(232)
5.8.1 单变量函数分析的交互界面(232)
5.8.2 泰勒级数逼近分界面(233)第六章 数据和函数的可视化(234)
6.1 引导(234)
6.1.1 离散数据和离散函数的可视化(234)
6.1.2 连续函数的可视化(235)
6.1.3 可视化的一般步骤(236)
6.2 二维曲线绘图的基本操作(238)
6.2.1 plot的基本调用格式(238)
6.2.2 曲线的色彩、线型和数据点形(241)
6.2.3 坐标、刻度和分格线控制(244)
6.2.4 图形标识(247)
6.2.5 多次叠绘、双纵坐标和多子图(250)
6.2.6 交互式图形指令(253)
6.3 三维绘图的基本操作(255)
6.3.1 三维线图指令plot3(255)
6.3.2 三维网线图和曲面图(255)
6.3.3 透视、镂空和裁切(256)
6.4 特殊图形和高维可视化(259)
6.4.1 特殊图形指令例示(259)
6.4.2 四维表现(269)
6.4.3 动态图形(273)
6.5 三维图形的精细控制(275)
6.5.1 视点控制和图形的旋动(275)
6.5.2 色彩控制(276)
6.5.3 照明和材质处理(281)
6.5.4 透明处理(284)
6.6 图像(290)
6.6.1 图像的类别和显示(290)
6.6.2 图像的读写(291)
6.6.3 8位和16位图像(295)
6.6.4 捕获图形生成图像文件(296)
6.7 图形窗的图形编辑功能(297)
6.7.1 图形窗菜单和工具条简介(297)
6.7.2 二维图形的交互编辑示例(299)
6.8 函数绘图的简捷指令(301)
6.8.1 一元函数简捷绘图指令(301)
6.8.2 二元函数简捷绘图指令(301)
6.9 图形的打印和输出(304)
6.9.1 图形打印的菜单操作方式(304)
6.9.2 图形输出的指令操作方式(305)
6.9.3 PC机Windows打印设备驱动程序(305)
6.9.4 MATLAB的内装打印设备驱动程序(307)
6.9.5 打印属性选项(309)第七章 M文件和面向对象编程(310)
7.1 入门(310)
7.2 M文本编辑器(312)
7.3 MATLAB控制流(312)
7.3.1 for循环结构(313)
7.3.2 while循环结构(313)
7.3.3 if-else-end分支结构(314)
7.3.4 switch-case结构(315)
7.3.5 try-catch结构(317)
7.3.6 控制程序流的其他常用指令(317)
7.4 脚本文件和函数文件(318)
7.4.1 M脚本文件(318)
7.4.2 M函数文件(319)
7.4.3 局部变量和全局变量(319)
7.4.4 M文件的一般结构(320)
7.4.5 P码文件(321)
7.4.6 MATLAB的搜索过程(322)
7.5 变量的检测传递和限权使用函数(322)
7.5.1 输入输出宗量检测指令(322)
7.5.2 "变长度"输入输出宗量(322)
7.5.3 跨空间变量传递(325)
7.5.4 子函数和私用函数(326)
7.6 串演算函数(327)
7.6.1 eval(327)
7.6.2 fevel(328)
7.6.3 内联函数(329)
7.7 函数句柄(331)
7.7.1 函数句柄的创建和观察(331)
7.7.2 函数句柄的基本用法(332)
7.8 创建用户工具箱(336)
7.8.1 MATLAB对工具箱文件的管理特点(337)
7.8.2 建立用户工具箱须知(337)
7.9 调试和剖析(337)
7.9.1 直接调试法(338)
7.9.2 调试器的使用(338)
7.9.3 MATLAB程序的性能优化(343)
7.10 面向对象编程(349)
7.10.1 概念综述(349)
7.10.2 面向对象编程应用示例(351)
7.10.3 重载运算(356)
7.10.4 继承性及其应用(357)

第八章 SIMULINK交互式仿真集成环境(360)
8.1 引导(360)
8.1.1 SIMULINK的安装(361)
8.1.2 SIMULINK入门(361)
8.1.3 SIMULINK库浏览器界面(363)
8.1.4 SIMULINK模型窗的组成(364)
8.2 模型的创建(366)
8.2.1 模型概念和文件操作(366)
8.2.2 模块操作(368)
8.2.3 信号线操作(371)
8.2.4 对模型的注释(373)
8.2.5 常用的Sourse库信源(374)
8.2.6 常用的Sink库信宿(375)
8.2.7 仿真的配置(377)
8.3 边续系统建模(381)
8.3.1 线性系统(382)
8.3.2 非线性系统(386)
8.4 子系统的创建、装帧及受控执行(392)
8.4.1 简装子系统及其应用(392)
8.4.2 精装子系统(394)
8.4.3 条件执行子系统(398)
8.5 离散时间系统和混合系统(404)
8.5.1 若干基本模块(404)
8.5.2 多速率离散时间系统(406)
8.5.3 离散-连续混合系统(407)
8.6 SIMULINK的分析工具(409)
8.6.1 确定模型的特征(409)
8.6.2 用MATLAB指令运行SIMULINK模型(410)
8.6.3 模型的线性化问题(413)
8.6.4 系统平衡点的求取(415)
8.6.5 综合算例(415)
8.7 数值计算方面的考虑(421)
8.7.1 微分方程解算器Solver(421)
8.7.2 积分步长和容差(424)
8.7.3 代数环问题(425)
8.8 S函数模块(428)
8.8.1 概述(488)
8.8.2 SIMULINK的运行机理(428)
8.8.3 用M文件表述的S函数(429)第九章 句柄图形(438)
9.1 句柄图形体系(438)
9.1.1 图形对象、对象句柄和句柄图形树结构(439)
9.1.2 对象属性(440)
9.2 图形对象的操作(440)
9.2.1 图形对象创建指令一览(440)
9.2.2 对象句柄的获取方法(441)
9.3 对象属性的获取和设置(442)
9.3.1 创建对象时设置属性(442)
9.3.2 get和set(443)
9.3.3 对象属性的缺省设置和查询(443)
9.3.4 属性查询和设置示例(443)
9.4 为低层指令绘图准备图/轴(445)
9.4.1 'NexPlot'属性(445)
9.4.2 准备图/轴的简捷指令newplot(445)
9.4.3 高层绘图文件的形成(446)
9.5 图形窗的色彩资源和光标属性(447)
9.5.1 色彩资源(447)
9.5.2 光标指针(448)
9.6 轴对象(449)
9.6.1 轴位框的几何属性和多轴位框(449)
9.6.2 图形名和坐标轴名的句柄操作(449)
9.6.3 轴刻度的属性控制(450)
9.6.4 坐标轴尺度、方向、位置属性(450)
9.6.5 照相机属性(451)
9.7 句柄图形应用专题(452)
9.7.1 光标形状的自制(452)
9.7.2 任意布置子图和轴外注释(453)
9.7.3 制作个性化双坐标系(455)
9.7.4 连续变焦和飞驰图形(457)
9.7.5 实时动画(459)
9.7.6 surface指令衍生不同曲面(461)
9.7.7 纹理影射和曲面彩绘(462)
9.7.8 三维块建模和着色(463)
9.7.9 鼠标拖动字对象(465)第十章 图形用户界面GUI制作(468)
10.1 入门(468)
10.2 图形用户界面的设计原则和一般步骤(471)
10.2.1 设计原则(471)
10.2.2 一般制作步骤(472)
10.3 界面菜单(uimenu)(472)
10.3.1 图形窗的标准菜单(472)
10.3.2 自制的用户菜单(473)
10.3.3 用户菜单的属性(474)
10.3.4 现场菜单的制作(481)
10.4 用户控件(uicontrol)(482)
10.4.1 控件制作函数(482)
10.4.2 用户控件的种类(482)
10.4.3 控件制作示例(483)
10.5 由M函数文件产生用户菜单和控件(489)
10.5.1 利用全局变量编写用户界面函数文件(490)
10.5.2 利用'UserData'属性编写用户界面函数文件(490)
10.5.3 利用递归法编写用户界面函数文件(491)
10.6 图形用户界面设计工具(493)
10.6.1 界面设计工具的结构和调用指令(493)
10.6.2 交互式用户界面设计工具应用示例(495)第十一章 MATLAB编译器(503)
11.1 编译器概述(503)
11.1.1 编译器的功能(503)
11.1.2 编译器的性能改进(503)
11.1.3 编译器的局限性(504)
11.1.4 把脚本文件改写为函数文件(504)
11.2 编译器的安装和配置(505)
11.2.1 配置MATLAB编译器的前提准备(505)
11.2.2 为产生MEX文件进行预配置(506)
11.2.3 为产生独立外部应用程序进行预配置(508)
11.3 MATLAB编译器使用入门(510)
11.3.1 由M文件创建C MEX文件的入门算例(510)
11.3.2 由M文件创建外部应用程序的入门算例(511)
11.4 编译指令mcc简介(513)
11.4.1 mcc的基本调用格式(513)
11.4.2 mcc的选项标志(514)
11.5 编译文件的性能优化(517)
11.5.1 优化数组(517)
11.5.2 优化循环(518)
11.5.3 优化条件语句(519)
11.6 创建独立的外部应用程序(520)
11.6.1 独立外部程序的工作特点和创建过程(520)
11.6.2 关于指令mbuild(521)
11.6.3 借助编译指令mcc创建独立应用程序(521)第十二章 应用程序接口API(531)
12.1 C语言MEX文件的编写(531)
12.1.1 关于MEX文件的一般性说明(531)
12.1.2 MEX文件中的MATLAB数据(532)
12.1.3 C语言MEX文件源程序的构成(533)
12.1.4 MEX文件的执行流程(535)
12.1.5 编写C MEX文件的常用库函数和示例(536)
12.2 MAT数据文件的应用(543)
12.2.1 数据的输入输出方法(543)
12.2.2 创建MAT文件的C源码程序的编写(544)
12.3 MATLAB引擎技术的应用(548)
12.3.1 MATLAB引擎概念的功能(548)
12.3.2 引擎库函数及C源码应用程序的编写(549)
12.3.3 利用VC++6.0集成环境编写MATLAB引擎程序(554)
12.4 MATLAB中ActiveX技术的应用(559)
12.4.1 关于ActiveX的一般性说明(559)
12.4.2 MATLAB的ActiveX自动化(559)
12.5 MATLAB中DDE技术的应用(571)
12.5.1 关于DDE的一般性说明(571)
12.5.2 DDE中的MATLAB服务器(571)
12.5.3 DDE中的MATLAB客户(576)第十三章 Notebook(581)
13.1 Notebook的安装(581)
13.1.1 MATLAB 6.1版Notebook的安装(581)
13.1.2 MATLAB 6.5版Notebook的安装(582)
13.2 Notebook的启动(583)
13.2.1 从Word中启动Notebook(583)
13.2.2 从MATLAB中启动Notebook(583)
13.2.3 Notebook成功启动标志和中文M-book模板的形成(584)
13.2.4 启动失几的原因和解决办法(585)
13.3 M-book模板的使用(586)
13.3.1 输入细胞(群的创建和运行)(586)
13.3.2 计算工的创建和运行(589)
13.3.3 Notebook菜单的其他选项(590)
13.3.4 输出细胞的格式控制(592)
13.3.5 细胞的样式(595)
13.3.6 使用M-book模板的若干参考技法(595)
13.4 科技演讲稿的制作(596)
13.4.1 在M-book中实现计算和可视的演讲稿制作(596)
13.4.2 直接引出GUI图形用户界面的演讲稿制作(598)
13.4.3 具有现场计算和绘图能力的演讲文稿的制作(599)
附录A:索引(601)
附录B:光盘使用说明(626)
参考文献(631)

猜您喜欢

读书导航