logo资料库

MATLAB5手册(清晰).pdf

第1页 / 共388页
第2页 / 共388页
第3页 / 共388页
第4页 / 共388页
第5页 / 共388页
第6页 / 共388页
第7页 / 共388页
第8页 / 共388页
资料共388页,剩余部分请下载后查看
第1 章M AT L A B 是什么
1.1 MAT L A B 能做什么
1.2 MAT L A B 实例
1.3 MAT L A B 帮助
第2 章M AT L A B 启动
2.1 启动和退出M AT L A B
2.2 MAT L A B 中矩阵和多维矩阵介绍
2.3 MAT L A B 中的变量
2.4 算术表达式和数学函数
2.5 计算浮点运算次数和时间管理
2.6 输出格式
2.7 帮助命令和示范
2.8 保存和装载
2.9 命令文件和函数文件
第3 章矩阵运算
3.1 加法和减法
3.2 乘法
3.3 除法
3.4 转置和共轭
3.5 元素操作算术运算
3.6 元素操作函数
3.7 矩阵的乘方与函数
3.8 关系运算符
3.9 逻辑运算符
3.10 逻辑函数
第4 章创建新矩阵
4.1 建立新矩阵
4.2 空矩阵
4.3 向量和子矩阵的生成
4.4 MAT L A B 中的特殊矩阵
第5 章字符串和其他数据类型
5.1 字符串
5.1.1 分配
5.1.2 字符串命令
5.1.3 显示和输入
5.1.4 字符串求值
5.2 整数
5.3 位操作
5.4 集合
5.5 细胞矩阵
第6 章数据分析和统计
6.1 最大值和最小值
6.2 求和、乘积和差分
6.3 统计命令
6.4 排序
6.5 统计频数直方图和棒图
6.6 区域的三角分解
6.7 多边形分析
第7 章线性方程系统
7.1 行列式、逆和秩
7.2 线性系统的求解和L U 因式分解
7.3 行梯形矩阵
7.4 Cholesky 因式分解
7.5 QR 因式分解
7.6 范数和条件数
7.7 超定方程组和欠定方程组
第8 章特征值和特征向量
8.1 特征值和特征向量的计算
8.2 上海森伯形式、Q R 和Q Z 因式分解
8.3 舒尔分解和奇异值分解
第9 章稀疏矩阵
9.1 矩阵为什么稀疏
9.2 创建和转换稀疏矩阵
9.3 稀疏矩阵运算
9.4 稀疏矩阵的特例
9.5 系数阵为稀疏矩阵的线性方程组
第1 0 章函数、插值和曲线拟合分析
10.1 MAT L A B 中的多项式
10.2 函数的零值
10.3 函数的最小值和最大值
10.4 插值、曲线拟合和曲面拟合
10.5 信号分析
第11 章积分和微分方程组
11.1 积分
11.2 常微分方程组
第1 2 章M AT L A B 程序设计
12.1 条件控制语句
12.2 循环语句
12.3 M 文件的其他相关内容
12.4 将函数作为参数传递给其他函数
12.5 结构
12.6 对象
12.7 调试和计时
第1 3 章图形和声音
13.1 二维图形
13.2 在其他坐标系和复平面上绘图
13.3 图形控制
13.4 生成网格和绘制等高线图
13.5 三维图形
13.6 颜色控制
13.7 图形窗口的硬拷贝
13.8 声音
第1 4 章高级图形
14.1 图的结构
14.2 图形对象
14.2.1 通用函数
14.2.2 共有属性和方法
14.2.3 根对象
14.2.4 图形对象
14.2.5 轴对象
14.2.6 用户控制对象
14.2.7 用户菜单对象
14.2.8 用户快捷菜单对象
14.2.9 图像对象
14.2.10 线条对象
1 4 . 2 . 11 补片对象
14.2.12 曲面对象
14.2.13 文本对象
14.2.14 光对象
14.3 图形用户界面
14.3.1 控制面板
14.3.2 属性编辑器
14.3.3 对齐工具
14.3.4 事件过程编辑器
14.3.5 菜单编辑器
14.4 动画
14.4.1 介绍性示例
14.4.2 拷贝图形窗口
14.4.3 创建动画
14.4.4 演示动画
第1 5 章M AT L A B 与其他编程语言结合
15.1 介绍M AT L A B 和F O RT R A N 或C
15.2 MAT L A B 和C
15.2.1 C 中对m x A r r a y 的操作
15.2.2 C 中对M AT 文件的处理
15.2.3 C 调用M AT L A B
15.2.4 MAT L A B 调用C
15.3 MAT L A B 和F O RT R A N
15.3.1 FORT R A N 中对m x A r r a y 的操作
15.3.2 FORT R A N 中M AT 文件的处理
15.3.3 FORT R A N 调用M AT L A B
15.3.4 MAT L A B 调用F O RT R A N
15.4 MAT L A B 和高级文件管理
15.5 和其他程序的结合
附录A MAT L A B 初步
A.1 启动和退出M AT L A B
A.2 基本赋值和计算
A.3 简单图形
A.4 线性系统和矩阵特征值
A.5 曲线拟合及多项式
A.6 简单的程序
A.7 函数分析
A.8 积分
A.9 普通微分方程
附录B 线性代数中的定义和基本概念
B.1 向量
B.2 矩阵介绍
B.3 矩阵概念
B.4 矩阵分类
B.5 特殊矩阵
B.6 向量和矩阵的范数
B.7 矩阵因式分解
附录C MAT L A B 工具箱和S I M U L I N K
附录D 快速参照
参考文献
命令表清单
下载 第1章 M AT L A B是什么 没有M AT L A B就没有乐趣。 Nachtigal, M. N., Reddy, S. C., Trefethen, L.N.(1990)。 不对称矩阵迭代有多快? 关于迭代方法的Copper Mountain会议论文集, Copper Mountain CO, 1-5,1990年4月。 1.1 MAT L A B能做什么 M AT L A B是一个可视化的计算程序,被广泛地使用于从个人计算机到超级计算机范围内 的各种计算机上。 M AT L A B包括命令控制、可编程,有上百个预先定义好的命令和函数。这些函数能通过 用户自定义函数进一步扩展。 M AT L A B有许多强有力的命令。例如, M AT L A B能够用一个单一的命令求解线性系统, 能完成大量的高级矩阵处理。 M AT L A B有强有力的二维、三维图形工具。 M AT L A B能与其他程序一起使用。例如, M AT L A B的图形功能,可以在一个 F O RT R A N 程序中完成可视化计算。 2 5个不同的M AT L A B工具箱可应用于特殊的应用领域。 M AT L A B在以下的领域里解决各种问题是一个十分有效的工具: • 工业研究与开发。 • 数学教学,特别是线性代数。所有基本概念都能涉及。 • 在数值分析和科学计算方面的教学与研究。能够详细地研究和比较各种算法。 • 在诸如电子学、控制理论和物理学等工程和科学学科方面的教学与研究。 • 在诸如经济学、化学和生物学等有计算问题的所有其他领域中的教学与研究。 • 在M AT L A B中创建的组是矩阵, M AT L A B的名字取自矩阵实验室 ( M ATrix LABoratory)。 1.2 MAT L A B实例 本节中的实例恰当而简洁地展示了 M AT L A B能做什么。在一些实例中给出了完整的 M AT L A B命令;而在另一些实例中,为简化仅给出部分命令。 在本书中出现的 M AT L A B 代码用的是一种特殊的字体以区别于书中别的文字。 M AT L A B的输出是斜体字,即:我们输给 M AT L A B的命令是正体; M AT L A B给出的输出答 案是斜体。 百分符号%在 M AT L A B中用做注释符号,在本书中全部都是这样使用。采用的其他表示 方法是:数量和预定义函数用斜体字,矩阵、向量和用户自定义函数用黑体字。矩阵用大写
2 M ATLAB 5 手册 下载 字母开头命名,而向量以小写字母开头。细胞矩阵是如同矩阵或向量的概念,也采用黑体字, 其结构和对象也是如此。在命令表中,用斜体字表示那些可选的函数参数。例如, c o m m a n d (parl, p a r2),参数p a r 1总是需要的,而 p a r2是可选的。 ■ 例1.1 二维和三维函数 M AT L A B能用于计算,并以二维和三维图形显示各种函数。在 M AT L A B函数中包括了所 有主要的数学函数和大量的高级函数。 (a) 用简短的M AT L A B命令计算并绘制在 0≤x≤6范围内的s i n ( 2x)、s i nx2和s i n2x。 x = l i n s p a c e ( 0 , 6 ) ; % 创建一个向量 x。 y 1 = s i n ( 2*x ) ; y 2 = s i n ( x . ^ 2 ) ; y 3 = ( s i n ( x ) ) . ^ 2 ; % 向量y 1等于x坐标上某一 x的s i n ( 2 x )值。 % 向量y 2等于s i n ( x . ^ 2 ),同上。 % 向量y 3等于( s i n ( x ) ) . ^ 2,同上。 命令p l o t ( x , y 1 )绘制向量y 1,y 1作为向量x的一个函数, p l o t命令的定义可参见第 1 3 章。由此能够很容易地在一个图上绘制 s i n ( 2x)、s i n (x2)和s i n2x的曲线并正确地标记它们 (图1 - 1 )。 图1-1 同一图上的三条曲线 (b) 两个变量的函数需要用三维来恰当地图示,M AT L A B能够给出很好的三维图。在图1 - 2中,用 四个不同的方法展示了函数f(x, y) = cos (x)·sin (y)的图形:左上图用s u r f命令和shading interp ;右 上图用m e s h;左下图用w a t e r f a l l以及右下图用c o n t o u r。关于图像命令的详细信息可参见第1 3章。 用surf和shading interp绘图 用mesh绘图 用mesh和隐藏线绘图 用contour绘图 图1-2 四种方法绘制双变量的一个函数的图形
第1章 M AT L A B是什么 3 下载 (c) MAT L A B也能绘制一条参数曲线,例如: x-y平面图如图 1 - 3所示。 图1-3 一个参数曲线图 ■ ■ 例1.2 函数分析 M AT L A B命令f z e r o和f m i n可以用于寻找一个函数的零点和最小值。 函数 可以用名叫 f u n c的用户自定义函数 (见2 . 9节)表示,并存入一个名叫 xex 2 - e x 2 - sin x3 f u n c . m的M文件中。这个文件由下列行组成: 如果这个M文件被存放在当前的工作目录中,或在一个称为 m a t l a b的子目录中,函数f u n c 就可以像预定义的M AT L A B函数一样调用。例如,调用 x i s z e r o = f u n c ( 0 ),给出的答案是: x i s z e r o = -1 用这样定义的函数, M AT L A B提供了一个命令来寻找方程 x ex2-ex2-s i nx3= 0的零点。命令 x s o l v = f z e r o (‘f u n c’, 3) 给出: xsolv = 1 . 2 1 9 4 在本例中,命令中的第 2个自变量用的是3,是开始计算的一个初始近似值。 如果在-1≤x≤1 . 5区间内绘制这个函数,则正确答案如图 1 - 4所示。 图1-4 在-1≤x≤1 . 5区间内绘制函数xex2-ex2-sinx3的图形
4 M ATLAB 5 手册 下载 当x在0 . 5和1之间时,这个函数看起来有一个极小值,为正确找出这个极小值,用命令 m p o i n t = f m i n (‘f u n c’, 0 . 5 , 1 ),其结果为: mpoint = 0 . 8 9 5 4 用于检查M AT L A B中用户自定义函数的命令可参见第 1 0章和第11章。 ■ ■ 例1.3 线性系统与特征值 (a) MAT L A B可以用一个简单的命令行求解线性系统,系数矩阵 A和右侧b定义如下: 这对应于线性系统 A x = b,如下所示: 这可由如下命令求解: x = A \ b 其结果为: (b) 还有许多矩阵控制命令。例如,例 ( a )中矩阵A的特征值很容易地可以由下列命令得到: 其给出: 矩阵E i g e n Ve c t o r s的列是A的特征向量,E i g e n Va l u e s中对角线元素是特征值。由于矩阵 A 是对称的,因此,所有的特征值都是实数,三个特征向量是相互正交的。 ■ M AT L A B中的基本概念是矩阵。基本的矩阵命令在第 3章描述,更多的命令将在第 4、7、 8、9章中描述。 ■ 例1.4 曲线拟合与插值 (a) 如果有两个向量x和y表示的x-y平面上的一组点,那么,可以对它们进行插值点或者拟 合一条曲线。令
下载 第1章 M AT L A B是什么 5 对应x-y平面上的 9个点。首先,展示以最小二乘法拟合数据的线性函数,这个可以通过 M AT L A B中的三个简单的命令来实现: p 1 = p o l y f i t ( x , y , 1 ) l i n c = p o l y v a l ( p 1 , x ) p l o t ( x , l i n c , x , y ,‘x’) % p1=A向量等于一次多项式的系数。 % linc=A向量等于x点上多项式 p 1的值。 % 绘制多项式和由‘ x’标记的数据。 结果见图1 - 5 (左图)。 能以最小二乘法对一组点拟合高次多项式。对上面的命令行进行一点小改动就可以得到 7 次多项式: p 7 = p o l y f i t ( x , y , 7 ) ; x x = 1 : 0 . 2 5 : 8 ; p o l c = p o l y v a l ( p 7 , x x ) ; p l o t = ( x x , p o l c , x , y ,’x’) % 绘制多项式和由’ x’标记的数据。 % p7=A向量等于7次多项式的系数。 % x x =所有想要进行多项式计算的点。 % p o l c = A向量等于点 x x上多项式p 7的值。 其结果如图 1 - 5 (右图)所示。 图1-5 x-y平面上对一组具有 9个点的数据拟合的 1次和7次多项式 (b) MAT L A B提供了二维和三维的内插函数。给定一组点 (xi,yi)和一些内插点x˜i ,M AT L A B 能返回通过对这些数据内插的插入点的值,这可以有不同的方法实现。作为一个例子,将使 用( a )中的一组点来给出在下列点中插入的值: 线性插值 三次样条插值 图1-6 piecewise 线性函数插值 (左)和三次样条插值(右)
6 M ATLAB 5 手册 下载 x ˜i=(1 1.1 1.2 1.3 … 7.9 8) 在图1 - 6中,分别展示了分段线性插值和三次样条插值。‘x’标记表示原始数据,点线是 中间点的被插函数。 有关插值和曲线拟合的详细信息可参见第 1 0章。 ■ ■ 例1.5 统计 M AT L A B包含了统计命令。例如,很容易地求得实验数据的平均值和中位值以及绘制统 计频数直方图或直方图。 图1 - 7显示了某小镇上每个人的年龄。上图是统计频数直方图,显示了每个年龄的人数。 例如,看到两个年龄最大的人是 9 2岁。统计频数矩形图也表示了小镇上没有人是 11岁或1 2岁, 7岁的儿童7人。 也能看出 3 2岁以下的人与 3 2岁以上的人一样多,因为这是一个中间年龄。此外,平均年 龄是3 5岁。这些也都在图中标出。 另外,下图展出了小镇上居民的年龄。例如,如果知道要列出的是第 11人,那么也就知 道这个人是一个小孩。因为第 11个直方块接触 x轴。这种绘图称为阶梯图,即没有内部线的直 方图。统计命令在第 6章中描述。 小镇居民的统计频数矩形图 中间值 平均年龄 年龄 小镇上每个人的年龄 小镇上的200人 图1-7 来自小镇数据的一个统计频数矩形图 ■ 例1.6 傅立叶变换与信号分析 M AT L A B能利用快速傅立叶变换F F T计算离散傅立叶变换,这用于信号分析和解微分方程。 为了证明M AT L A B的傅立叶变换,用 0和1之间的随机数干扰 5 s i n (x) + 2 s i n ( 5x) 函数: ■ x = l i n s p a c e ( 0 , 2*p i , 6 4 ) ; s i g n a l = 5*s i n ( x ) + 2*s i n ( 5*x ) + r a n d n ( x ) ;
下载 第1章 M AT L A B是什么 7 干扰信号和原始信号如图 1 - 8 (上)所示。 然后,变换这个信号,并且删除变换后信号中的所有高频,即系数向量中心部分设为零。 t r a n s f = f f t ( s i g n a l ) ; f i l t t r a n s f ( 1 : 9 ) = t r a n s f ( 1 : 9 ) ; f i l t t r a n s f ( 5 6 : 6 4 ) = t r a n s f ( 5 6 : 6 4 ) ; 傅立叶变换的实际部分如图 1 - 8 (下)所示。图 1 - 9 (上)中删除了高频傅立叶变换,仅低频向 量通过逆傅立叶变换而变换: f i l t s i g = i f f t ( f i l t t r a n s f ) ; 干扰信号和原始信号 删除高频 干扰信号的傅立叶变换 过滤信号和原始信号 图1-8 干扰信号和它的傅立叶变换 图1-9 过滤傅立叶变换 这个过滤的信号与原始信号一起在图 1 - 9 (下)中展示。这个过滤的信号如期望一样是光滑 的。因为这种干扰也影响部分低频信号,所以它与原始信号不等。 在1 0 . 5节中,作为 M AT L A B的一部分描述了傅立叶变换,更详细的有关信号处理工具箱 的信息参见附录C。 ■ 例1.7 常微分方程 ■ M AT L A B可以用数字求解常微分方程。作为一个实例,展示在一个轨道上一只猫追赶一 只机器玩具老鼠。猫和老鼠的位置分别用 (x(t), y(t) )和(X(t) ,Y(t) )表示。猫的速度向量是和猫与 老鼠之间的差向量对应的。猫从 ( 5 0,4 0 )开始,这就给出了如下的微分方程系统: 式中w是老鼠的速度, a是猫和老鼠在t时刻相距的距离,由下式给出: a( t) = (X(t) - x(t))2 + (Y(t) - y(t))2 这个系统的解如图1 - 1 0所示,从图中可以看到由于老鼠跑得太快,猫并没有成功地抓到老鼠。 w a w a
8 M ATLAB 5 手册 下载 猫和老鼠 猫 老鼠 图1-10 猫捉机器玩具老鼠。小圆是老鼠的终点,十字是猫的终点 在11 . 2节中描述了如何使用 M AT L A B求解一般的常微分方程问题。 ■ ■ 例1.8 偏微分方程 在M AT L A B中有许多用于不同应用领域的工具箱。这里,作为一个例子给出 P D E工具箱, 这个工具箱能通过使用有限元方法 (the Finite Element Method)解椭圆方程、抛物线方程和双 曲线方程。区域要分成大量的三角形子区域,对每个三角形,其解由一个简单函数估计。所 用的三角形越多,其偏差就越小。 求解这个区域里的椭圆问题- u = s i n ( 2 y+ / 2 ) c o s ( 2 x+ / 2 ),如图1 - 11所示。 拉普拉斯算子 是 这个问题的解可以用可视化等高线以二维绘制,如图 1 - 1 2所示。 ,边界条件 u= 0,也可由P D E工具箱所做的三角形子区域给出。 PDE解 图1 - 11 PDE工具箱采用F E M的三角形子区域 图1-12 PDE工具箱计算的等高线解的图示 ■ 例1.9 MAT L A B中的编程 M AT L A B是可编程的。命令序列可以在文本编辑器上写入,然后可以调用 M AT L A B命令 窗口上的用户定义函数或程序。文件的名字必须要有扩展名 .m,这个文件就称为 M文件。这 些M文件可以用相同的方法象标准 M AT L A B函数一样使用。 (a) 阶乘n!= 1×2×3×…×n可以用不同的方法计算。这里,展示一个递归的用户定义函数: ■
分享到:
收藏