matlab河南工业大学课件第4章 11

上传人:f****u 文档编号:128713714 上传时间:2020-04-21 格式:PPT 页数:55 大小:1.06MB
返回 下载 相关 举报
matlab河南工业大学课件第4章 11_第1页
第1页 / 共55页
matlab河南工业大学课件第4章 11_第2页
第2页 / 共55页
matlab河南工业大学课件第4章 11_第3页
第3页 / 共55页
matlab河南工业大学课件第4章 11_第4页
第4页 / 共55页
matlab河南工业大学课件第4章 11_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《matlab河南工业大学课件第4章 11》由会员分享,可在线阅读,更多相关《matlab河南工业大学课件第4章 11(55页珍藏版)》请在金锄头文库上搜索。

1、控制工程中的程序设计 授课教师 冯肖亮E mail fengxl2002 河南工业大学电气工程学院 1 数值问题求解 第四章 2 第四章数值问题求解 上 4 1特殊矩阵4 2矩阵分析4 3矩阵分解4 4秩与线性相关性4 6线性方程组的求解 3 4 1特殊矩阵 数值矩阵的输入零矩阵 幺矩阵及单位矩阵生成n n方阵 A zeros n B ones n C eye n 生成m n矩阵 A zeros m n B ones m n C eye m n 生成和矩阵B同样位数的矩阵 A zeros size B 对角元素矩阵 使用diag 命令两类使用规则 1 构造对角矩阵已知向量V生成对角矩阵A A

2、diag V 设V为具有m个元素的向量 diag V 将产生一个m m对角矩阵 其主对角线元素即为向量V的元素 其他元素为0 生成主对角线上第k条对角线为向量V的矩阵A A diag V k 其功能是产生一个n n n m abs k 对角阵 其第k条对角线的元素即为向量V的元素 其他元素为0 k可正 可负 4 1特殊矩阵 2 提取矩阵的对角线元素已知矩阵A提取对角元素列向量V V diag A 设A为m n矩阵 diag A 函数用于提取矩阵A主对角线元素产生一个具有min m n 个元素的列向量 已知矩阵A 提取主对角线上第k条对角线为向量V V diag A k 其功能是提取矩阵A主对角

3、线上第k条对角线的元素 4 1特殊矩阵 例1 diag 函数的不同调用格式 C 123 V diag C 生成对角矩阵V 100020003 V1 diag V 将列向量通过转置变换成行向量V1 123 C 123 V diag C 2 主对角线上第2条对角线为C的矩阵V 0010000020000030000000000 例4 2生成三对角矩阵 V diag 1234 diag 234 1 diag 543 1 V 1200523004340034 例4 3先建立5 5矩阵A 然后将A的第1行元素乘以1 第2行乘以2 第5行乘以5 命令如下 A 17 0 1 0 15 23 5 7 14 1

4、6 4 0 13 0 22 10 12 19 21 3 11 18 25 2 19 D diag 1 2 3 4 5 D A 用D左乘A 对A的每行乘以一个指定常数说明 如果要对A的每行元素乘以一个常数 可以通过用一个对角阵左乘矩阵A 9 2 矩阵的三角阵 1 下三角矩阵求矩阵A的下三角阵的MATLAB函数是tril A 求矩阵A第 k条对角线以下的下三角阵的MATLAB函数是tril A k 2 上三角矩阵在MATLAB中 提取矩阵A的上三角矩阵的函数是triu A 其用法与提取下三角矩阵的函数tril A 完全相同 同样地 triu A k 可求矩阵A第k条对角线以上的上三角阵 10 A

5、12 2 111 221 b diag A b ans 111 triu A ans 12 2011001 tril A ans 100110221 求矩阵A的上三角矩阵 对角阵和下三角矩阵 triu A 1 ans 02 2001000 tril A 1 ans 000100220 4 2 1矩阵结构变换1 矩阵的转置转置运算符是单撇号 2 矩阵的旋转矩阵的旋转利用函数rot90 A k 功能是将矩阵A旋转90 的k倍 当k为1时可省略 3 矩阵的左右翻转对矩阵A实施左右翻转的函数是fliplr A 4 矩阵的上下翻转对矩阵A实施上下翻转的函数是flipud A 4 2矩阵分析 12 4 2

6、 2矩阵的逆与伪逆1 矩阵的逆若A为n n的非奇异方阵 则C A 1 求解命令为C inv A 例4 4 求取4阶Hilbert矩阵的逆矩阵 formatlong H hilb 4 H1 inv H H1 1 0e 003 0 01600000000000 0 119999999999990 23999999999998 0 13999999999999 0 119999999999991 19999999999990 2 699999999999761 679999999999840 23999999999998 2 699999999999766 47999999999940 4 1999

7、9999999961 0 139999999999991 67999999999984 4 199999999999612 79999999999974 13 4 2 2矩阵的逆与伪逆2 矩阵的伪逆MATLAB中 当矩阵的逆不存在时 会定义它的伪逆 求一个矩阵伪逆的函数是pinv A 例4 5求A的伪逆 并将结果送B 命令如下 A 3 1 1 1 1 3 1 1 1 1 3 1 B pinv A 14 例4 6用求逆矩阵的方法解线性方程组AX b 命令如下 A 1 2 3 1 4 9 1 8 27 b 5 2 6 x inv A b一般情况下 用左除比求矩阵的逆的方法更有效 即x A b 15

8、 4 2 3方阵的行列式求方阵A所对应的行列式的值的函数是det A 4 2 4矩阵的秩和迹设A是一组向量 A的极大无关组中向量的个数为A的秩MATLAB中 求矩阵秩的函数是rank A 方阵A的主对角线元素之和为A的迹MATLAB中 求矩阵的迹的函数是trace A 例如 X 223 45 6 789 求X的行列式 秩和迹 16 17 定理 克莱姆Cramer法则 的系数行列式不等于零 即 那么线性方程组 1 有解 并且解是唯一的 解可以表示为 如果线性方程组 18 其中是把系数行列式D中第j列的元素用方程组右端的常数项代替后所得到的n阶行列式 即 注意 在利用克莱姆法则解方程组时 1 方程

9、组中方程的个数与未知数的个数必须相等 2 系数行列式不能等于零 例4 7用克莱姆 Cramer 方法求解线性方程组Dx b 程序如下 D 2 2 1 1 4 3 1 2 8 5 3 4 3 3 2 2 定义系数矩阵b 4 6 12 6 定义常数项向量D1 b D 2 4 用方程组的右端向量置换D的第1列D2 D 1 1 b D 3 4 用方程组的右端向量置换D的第2列D3 D 1 2 b D 4 4 用方程组的右端向量置换D的第3列D4 D 1 3 b 用方程组的右端向量置换D的第4列DD det D x1 det D1 DD x2 det D2 DD x3 det D3 DD x4 det

10、D4 DD x1 x2 x3 x4 19 4 2 5向量的范数向量V的范数为 MATLAB中 求向量范数的函数是norm V R norm V 4 2 4矩阵的范数矩阵A的范数为 MATLAB中 求矩阵范数的函数是norm A R norm A 20 例4 8已知V 求V的3种范数 命令如下 V 1 1 2 1 v1 norm V 1 求V的1 范数sum abs Vi v2 norm V 求V的2 范数sqrt sum Vi 2 vinf norm V inf 求 范数max abs Vi 例4 9求矩阵A的三种范数 命令如下 A 17 0 1 0 15 23 5 7 14 16 4 0 1

11、3 0 22 10 12 19 21 3 11 18 25 2 19 a1 norm A 1 求A的1 范数a2 norm A 求A的2 范数ainf norm A inf 求A的 范数 21 4 2 7矩阵的特征值与特征向量MATLAB中 计算矩阵A的特征值和特征向量的函数是eig A 常用的调用格式有2种 1 E eig A 求矩阵A的全部特征值 构成向量E 2 V D eig A 求矩阵A的全部特征值 构成对角阵D 并求A的特征向量构成V的列向量 例 求A的特征值和特征向量 命令如下 A 1 2 2 1 1 1 4 12 1 E eig A V D eig A 22 例4 10求对称矩阵

12、A的特征值和特征向量 命令如下 A 2 1 4 6 1 2 1 5 4 1 3 4 6 5 4 2 Q D eig A 若执行如下命令 我们会有新的发现Q D Q ans 2 00001 00004 00006 00001 00002 00001 00005 00004 00001 00003 00004 00006 00005 00004 00002 0000结果与A相等 说明确实将A分解为了QDQ 的乘积 23 4 3矩阵分解 4 3 1LU分解矩阵的三角分解又称LU分解 它的目的是将一个矩阵分解成一个下三角矩阵L和一个上三角矩阵U的乘积 即A LU Matlab使用函数lu实现LU分解

13、其格式有2种 L U lu A 其中U为上三角阵 L为下三角阵或其变换形式 满足LU A L U P lu A 其中 U为上三角阵 L为下三角阵 P为单位矩阵的行变换矩阵 满足LU PA 4 3矩阵分解 例4 11实现矩阵A的LU分解命令如下 A 123 456 789 L U lu A L U P lu A 4 3矩阵分解 4 3 2Cholesky分解如果A为n阶对称正定矩阵 则存在一个实的非奇异上三角阵R 满足R R A 称为Cholesky分解Matlab使用函数chol实现Cholesky分解 其格式为 R chol A 若A非正定 则产生错误信息 R p chol A 不产生任何错

14、误信息 若A为正定阵 则p 0 R与上相同 若A非正定 则p为正整数 R是有序的上三角阵 4 3矩阵分解 例4 12实现4阶帕斯卡 pascal 矩阵的Cholesky分解命令如下 A pascal 4 产生4阶pascal矩阵 R p chol A 4 3矩阵分解 4 3 3QR分解将矩阵A分解成一个正交矩阵Q与一个上三角矩阵R的乘积A QR 称为QR分解 Matlab使用函数qr实现QR分解 其格式有两种 Q R qr A 其中 求得正交矩阵Q和上三角阵R R的对角线元素按大小降序排列 满足AE QR Q R E qr A 其中 求得正交矩阵Q和上三角阵R E为单位矩阵的变换形式 R的对角

15、线元素按大小降序排列 满足AE QR 4 3矩阵分解 例4 13实现矩阵A的QR分解命令如下 A 123 456 789 101112 Q R qr A 4 4秩与线性相关性 矩阵A的秩是指矩阵A中最高阶非零子式的阶数 或是矩阵线性无关的行数与列数 向量组的秩通常由该向量组构成的矩阵来计算 求行阶梯矩阵及向量组的基行阶梯使用初等行变换 矩阵的初等行变换有三条 1 交换两行ri rj 第i 第j两行交换 2 第i行的k倍kri 3 第i行的k倍加到第j行上去rj kri通过这三条变换可以将矩阵化成行最简形 从而找出列向量组的一个最大无关组 4 4秩与线性相关性 4 4 1求行阶梯矩阵及向量组的基

16、Matlab将矩阵化成行最简形的命令是rref 其格式有两种形式 R rref A R是A的行最简形矩阵 非零行的第一个非零元为1 且这些非零元所在的列的其他元素都是零 R jb rref A R是A的行最简行矩阵 jb是一个向量 其含义为 r length jb 为A的秩 A jb 为A的列向量基 jb中元素表示基向量所在的列 4 4秩与线性相关性 4 4 1求行阶梯矩阵及向量组的基例4 14求向量组a1 1 2 2 3 a2 2 4 1 3 a3 1 2 0 3 a4 0 6 2 3 a5 2 6 3 4 的一个最大无关组a1 1 223 a2 24 13 a3 1203 a4 0623 a5 2 634 A a1a2a3a4a5 R jb rref A A jb 即 a1a2a4为向量组的一个基 4 5线性方程的组的求解 我们将线性方程的求解分为两类 一类是方程组求唯一解或求特解 另一类是方程组求无穷解即通解 可以通过系数矩阵的秩来判断 若系数矩阵的秩r n n为方程组中未知变量的个数 则有唯一解 若系数矩阵的秩r n 则可能有无穷解 线性方程组的无穷解 对应齐次方程组的通解 非

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号