目录 第一章概 (1) 1.1 MATLAB简介 (1) 1.1.1 MATLAB是什么 (1) 1.1.2 MATLAB的发展历史 (2) 1.1.3 MATLAB系列产品及应用 (4) 1.2 Maple v的概述 6) 2.1 Maple是什么软件… 1.2.2 Maple的工作窗口 (7) 1.2.3符号运算………… (7) 1.2.4数值计箅……… 2.5图形功能 概述 (10) 13.1什么是 Mathemat 1.3.2数值计算 (11) 1.3.3符号计算… (11) 形… 1.4 Mathcad概述 (12) 1.4.1什么是 Mathcad (13) 14.2 Mathcad的工作窗日…… (13) 1.4.3 Mathcad的工作特点…… (14) 第二章 MATLAB的基础准备及入门……… (17) 2.1对外部系统的要求 2.1.1 MATLAB3.0、3.5版对系统的要求… 2.12 MATLAB4.0、4.1、4.2版对系统的要求… 17) 2.2 MATLAB的安装……… 2.2.1标准安装 ………(18) 22.2非标准安装 (19 2.3 MATLAB的目录结构与环境变量 21 2.3.1目录结构 ……(21) 2.3.2 MATLAB环境变量 (23) 2.4 MATLAH入门… 2.4.1 MATLAR的启动…… (24)
24.2工作窗和指令行的操作 (25) 2.4.3工作窗中提示信息简介 2.4.4简单矩阵的输人 (29) 2.4.5语句与变量… ……(30) 2.4.6Who,Whos和永久变量 (31) 2,4.7数与表达式 (32) 2.4.8复数和复矩阵 (33) MATLAR的在线查询……… 2.5.1 help指令 2.5.2 lookfor指令 (38) 2.5.3其它帮助指令 (39) 2.6用户目录的建立和搜索路径…… 2.6.1用户工作目录的建立…………… (39) 2.6.2搜索路径的扩展… (40) 第三章 MATLAB的数值计算功能 3.1数值矩阵的创建、保存和数据格式 42) 3.1.1创建数值矩阵的直接输入法 43) 3.12利用矩阵编辑器创建和修改数值矩阵… 3.1.3利用 MATLAB函数和语句创建数值矩阵 (45) 3.1.4利用M文件创建和保存矩阵………… ……(46) 3.1.5通过MAT文件保存和获取矩阵 (47) 3.1.6数据输出格式… (48) 3.2矩阵运算和数组运算 (48) 3.2.1矩阵运算和数组运算指令对照汇总 (48) 32.2矩阵乘和数组乘 (50) 3.3矩阵除和数组除… (51) 3.3.1矩阵逆和用除法解恰定方程组… …(51) 3.3.2用除法运算解超定方程 (53) 3.3.3用除法运算解欠定方程 (53) 3.3.4数组除…… (54) 3.4矩阵乘方和数组乘方 3.4.1方阵的标量乘方和数组的标量乘方… 3.4.2标量的矩阵乘方和标量的数组乘方… 3.5数组函数和矩阵函数 (57) 3.5.1基本数组函数 3.5.2基本矩阵函数…… 3.53需特别注意区分的两种函数运算………… Ⅱ
3.6关系运算、逻辑运算及其函数… ·“ 3.6.1数组关系运算 3.6.2数组逻辑运算 (61) 3.6.3关系函数和逻辑函数 (62) 3.7矩阵分解函数… (64) 3.7.1特征值分解 ……(65) 3.7.2奇异值分解和伪逆 ……(67) 3.8向量和矩阵处理…… (69) 3.8.1向量的生成… ……(69) 3.8.2标识…… 38.3空阵… (72) 3.8.4常用矩阵的生成 (72) 38.5特殊矩阵的生成 (74 38.6矩阵结构变换 (75) 3.8.7矩阵的扩展 3.9多项式 (78) 3.9.1多项式的表达和创建 3.9.2多项式乘除运算 …(79) 39.3常用多项式运算指令 81) 3.10数据分析 3.10.1基本统计指令 3.10.2协方差阵和相关阵………… 3.10.3统计频数函数 (86) 3.10.4有限差分和导数 (87) 3.11数字信号处理… 3.11.1快速傅里叶算法 90 3.11.2数据滤波 (92) 3.12稀疏矩阵 (93) 3.12.1稀疏矩阵的存储方式… (93) 3.12.2稀疏矩阵的创建 3.12.3稀疏矩阵的运算 …(95) 3.13功能函数 (98) 3.13.1数值积分 3.13.2优化和解非线性方程… 3.13.3微分方程的数值解 第四章 MATLAB的符号计算功能 (105) 4.1入门 …(105) 4.1.1符号计算入门
4.1.2任意精度计算入门 (106) 4.2符号表达式和符号矩阵的创建 (108) 4.2.1符号表达式和符号方程的创建…… ……(108) 符号矩阵的创建和修改 (108 4.3符号矩阵的基本运算 4.3.1符号矩阵的加、减、乘运算 (110 4.3.2符号矩阵的逆和除运算… (111) 4.3.3符号矩阵的幂运算 (111) 4.3.4符号矩阵的综合运算指令 …(111) 4.4因式分解、展开和简化 (112) 4.4.1因式分解、展开 ……(112) 4.4.2符号矩阵的简化 (113) 4.4.3符号变量替换 4.4.4确定符号变量 (115) 4.5符号矩阵分解… ……………(115) 4.6符号微积分 (117) 4.7符号代数方程的求解………… 4.7.1线性方程组的符号解 (119) 4.7.2一般代数方程组的解…… (119) 4.8符号微分方程的求解 (121) 4.9符号函数的二维图形 (122) 4.10符号计算能力的进一步开拓 (123) 4.10.1直接调用 MAPLE的符号计算能力 …………(123) 4.10.2给 MAPLE工作空间中的变量定义 4.11图示化函数计算器 4.11.1函数曲线视窗的激活 (126) 4.11.2运算控制器上被控栏的操作 4.11.3单函数运算操作键 ……(128) 4.11.4函数和参数运算操作键……… 4.11.5两个函数间的运算操作键……… 4.11.6辅助操作键… 4.12符号计算指令的在线求助 (129) 412.1 MATLAB符号数学工具包中M文件的在线求助 …(129) 4.12.2 MAPLE库函数在线帮助的检索树… (129) 412.3 MATLAB提供的 MAPLE特殊函数名清单文件 (130) 4.13补充说明……… …(130) 第五章计算结果的可视化………… (132) 5.1人门 (132)
5.1.1二维图形 …(132) 5.1.2三维网线图初步 …(136) 5.2曲线图形 (138) 5.2.1二维特殊图形 (138) 5.2.2绘制数值函数二维曲线的专用指令 5.2.3三维曲线 ……(142) 5.24多边形的填色 5.3曲面的表现 (145) 5.3.1三维网线图深入 (145) 5.3.2着色表面图 (147) 533二元函数的伪彩图 …(149) 5.3.4等高线 5.3.5矢量场图 ………(151) 5.36柱面和球面……… …(152) 5.4四维表现和切片图 (153) 5.5图形的标注 (154) 5.5.1图名和坐标轴名的标注… ……(155) 5.5.2所画图形的标注………… (155) 5.5.3分格线 (156 5.6图形的控制与表现 (156) 5.6.1图形的窗口创建和控制………… 56.2子图形的创建和控制 (156) 5.6.3图形的重叠绘制…… (157) 5.6.4坐标轴的控制 (158) 5.6.5视角的设置 (159) 5.6.6光照控制 160) 色彩的控制与表现 (161) 5.7.1色彩的调制… 5.7.2色图和色图函数……… (162) 5.7.3伪彩着色机理和色轴的设置 …………(165) 5.74色彩的渲染 ………………(167) 5.7.5图像表现函数 …(168) 两个特殊图形操作指令 (168) 5.8.1变焦指令zxm …(169) 5.8.2图形坐标的获取指令 gina (169) 5.9动态图形… 5.9.1彗星轨线 ………………(170) 5.9.2色图的变幻 170) 5.9.3影片动画 (171)
5.10图形的输出和打印… (171) 5.10.1使用 Windows应用程序打印… (172) 5.10.2图形的专业印刷质量拷贝 (173) 5.11图形句柄的操作 (175) 5.11.1图形对象 (175) 5.11.2图形对象的句柄 (176) 5.11.3对象品性… (178) 5.11.4实时动画的制作 (188) 第六章 MATLAB Notebook (192) 6.1人门 (192) 6.2中文word6.0简介… …(194) 6.2.1文档的创建与编辑 (194) 6.22文档的排版 (196) 6.2.3样式与模板 (198) 6.2.4图文框 (199) 6.2.5Word工作的自动化 (201) 6.3 Notebook的运行环境… (203) 6.3.1 Notebook的安装 (203) 6.3.2启动 Notebook 6.3.3 M-book模板… (206 6.3.4 Notebook菜单 6.3.5 Notebook工具条 6.4 Notebook的运作方法 6.4.1 Notebook的基本使用方法 (208) 64.2细胞的使用 6.4.3文档中操作 MATLAB的进一步说明… 6.4.4输出控制与文档的打印 (217 6.5路径管理器和内存浏览器 6.5.1 MATLAB的路径管理器 (222) 6.5.2工作内存浏览器…… (223) 6.5.3 Notebook的帮助系统 (223) 6.6 Notebook使用须知…… …(224 6.6.1 Notebook现行版本问题 …………(224 6.6.2中文版的特殊问题 (225) 6.6.3标点符号问题…… (226) 6.6.4长文档中的输出细胞问题 (226) Ⅵ
第七章 SIMULINK动态仿真集成环境… (227) (227) 7.1.1系统要求 …(227) 7.1.2 SIMULINK的安装 7.1.3 SIMULINK人门 (28) 7.1.4界面与菜单 (230) 7.2模型的构造……… (232 7.2.1创建模型文件…… 7.2.2标准模块的选取…… (233) 7.2.3模块的移动、删除和拷贝 (233) 7.2.4模块的连接 (233) 72.5模块属性的改变… (234) 模型文件的保存 236 7.3数值分析 7.3.1菜单操作方式下仿真算法和参数的选择 (236) 7.3.2仿真的 MATLAB指令操作方式…… (239) 7.3.3仿真中的几个重要问题…… (242) 7.3,4离散系统的仿真 (245) 7.4仿真系统的线性化模型 7.4.1连续系统的线性化模型 (248) 7.4.2离散系统的线性化模型 (248) 74.3关于模型线性化的几点说明… 7.4.4平衡点的确定 7.5S-函数及其应用 (251) 7.5.1什么是S函数 (252) 7.5.2S函数的工作方式 ………(252) 75.3创建S函数 (253) 7.5.4S函数文件转化为框图模块 (257) 7.5.5改变模块的属性 7.5.6刨建子系统……… 7.5.7模块参数的动态交换 (262) 7.5.8复杂模型的创建策略…… ……(264) 第八章 MATLAB的程序设计……… 8.1M文件的功能和特点… (266) 82M文件的形式 (266) 8.2.1命令文件 8.2.2函数文件 68)
8.3程序结构 (269) 8.3.1顺序结构 (270) 8.3.2循环结构 (270) 8.3.3分支结构… 8.4数据结构及全局变量 (274) 8.4.1数据结构 8.4.2全局变量…… …(275) 8.5程序流的控制……… 指令 (276) 8.5.2 Input、 yesinput指令… (277) 8.5.3 pause指令 (278) 8.5.4 keyboard指令 ………(278) 8.5.5 break指令 8.6字符与字符串… (279) 8.7函数调用及变量传递 281 8.7.1函数调用 281) 8.7.2参数传递… 88数据的输入与输出 88.1数据的输人 (284) 8.8.2数据的输出 (284) 8.3save和load指令使用 88.4不同平台间的数据交换… 286 附录 MATLAB主要函数指令表 A0主要函数指令分类 (287) A1常用指令( General Purpose Commands) (287) A2运算符和特殊算符( Operators and Special Characters) A3基本数学函数( Elementary Math Functions) (289) A4基本矩阵函数和操作( Elementary Matrices and Matrix Manipulation) (290) A5字符串函数( Character String Functions) (291) A6矩阵函数和数值线性代数( Matrix Functions- Numerical Linear Algebra) A7数据分析和傅里叶变换 Date Analysis and Fourier transf6 orm Functions) A8多项式与插补函数( Polynomial and Interpolation Functions (294) A9非线性数值功能函数( Function functions- Nonlinear Numerical Methods) (294) A10二维图形函数( Two Dimensional Graphics A1l三维图形函数( Three Dimensional Graphics) (295) A12通用图形函数( General Purpose Graphics Functions) A13色彩控制和光照模式函数( Color Control and Lighting Model Functions) A14特殊数学函数( Specialized Math Functions)
A15特殊矩阵( Specialized Matrices) (299) A16语言结构和调试指令( Language Constructs and Debugging) (299) A17低层文件输入输出函数( Low Level File 1/ O Functions) (300) A18稀疏矩阵函数( Sparse Matrix Functions) A19声音处理函数( Sound Processing Functions)… A20动态数据交换函数( DDE CHient functions)………… …(302) A2l主启动文件( I ocal Function Library) (302) A22演示函数( Demonstration) ……(302) 参考文献
第一章概论 在当今30多个数学类(为区别于文字处理和作图类而加的修饰词)科技应用软件中,就 软件数学处理的原始内核而言,可分为两大类。一类是数值计算( Number( munching型软件, 如 MATLAB、 Math、 Gauss, MLAB等。这类软件对大批数据具有较强的管理、计算和可视化 能力,运行效率高。另一类是数学分析( Math Analysis)型软件,如 Mathematica、 Maple、 Macy ma等。它们以符号计算见长,并可得到解析符号解和任意精度解,但处理大量数据时运行效 率较低。经过多年的国际竞争, MATLAB已经占据了数值型软件市场的主导地位,处于其后 的是 Math;而 Maple、 Mathematica、 Macsyma位居符号软件的前三名(见1995 IEFE Spec trum)。 在国际流行的科技应用软件中, Mathcad别具特色。该软件的开发商 Mathsoft公司开 始就把面向教学和办公作为 Mathcad的市场目标。在对待数值计算、符号分析、文字处理、图 形能力的开发上,不以专业水准为追求,而尽力集各种功能于一体。 Math Works公司顺应多功能需求之潮流,在其卓越数值计算和图视能力的基础上,又率 先在专业水平上开拓其符号计算、文字处理、可视化建模仿真和实时控制能力,精心营造适合 多学科、多部门要求的新一代科技应用软件 MATLAB 本章共分四节。第一节简述 MATLAB的发展历史、内容和影响。后三节分别简介 Maple, Mathematica和 Mathcad的概况及入门材料。 1.1 MATLAB简介 11 MATLAB是什么 MATLAB原先作为矩阵实验室( Matrix L aboratory),是用来提供通往 LINPACK和EIS PACK矩阵软件包接口的。后来,它渐渐发展成了通用科技计算、图视交互系统和程序语言。 MATLAH的基本数据单位是矩阵。它的指令表达与数学、工程中常用的习惯形式十分相 似。比如,矩阵方程b=Ax,在 MATLAB中被写成b=A*x。而若要通过A,b求x,那么只要 写x=A\b即可,完全不需要对矩阵的乘法和求逆进行编程。因此用 MATLAB解算问题要 比用C、 FORTRAN等语言简捷得多。 MATLAB已经受了用户的多年考验。在欧美高等院校, MATLAB已经成为应用线性代 数、自动控制理论数理统计数字信号处理时间序列分析、动态系统仿真等高级课程的基本 教学工具;成为攻读学位的大学生、硕上生博土生必须掌握的基本技能。在设计研究单位和 工业部门, MATLAB被广泛地用于研究和解决各种具体工程问题。 现在, MATLAB已经成为一个系列产品: MATLAB“主包”和各种可选 Toolbox“工具包 主包中有数百个核心内部函数。迄今所有的三十几个工具包又可分为两类:功能性工具包和