Matlab代数运算.ppt_第1页
Matlab代数运算.ppt_第2页
Matlab代数运算.ppt_第3页
Matlab代数运算.ppt_第4页
Matlab代数运算.ppt_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二讲线性代数中的数值计算问题 引例 求下列三阶线性代数方程组的近似解 MATLAB程序为 A 2 54 15 2 124 b 5 6 5 x A b 在MATLAB命令窗口 先输入下列命令构造系数矩阵A和右端向量b A 2 54 15 2 124 A 2 5415 2 124b 5 6 5 b 565然后只需输入命令x A b即可求得解x x A bx 2 76741 18601 3488 一 特殊矩阵的实现 1 零矩阵 所有元素值为零的矩阵称为零矩阵 零矩阵可以用zeros函数实现 zeros是MATLAB内部函数 使用格式如下 zeros m 产生m m阶零矩阵 zeros m n 产生m n阶零矩阵 当m n时等同于zeros m zeros size A 产生与矩阵A同样大小的零矩阵 一 特殊矩阵的实现 常见的特殊矩阵有零矩阵 幺矩阵 单位矩阵 三角形矩阵等 这类特殊矩阵在线性代数中具有通用性 还有一类特殊矩阵在专门学科中有用 如有名的希尔伯特 Hilbert 矩阵 范德蒙 Vandermonde 矩阵等 2 幺矩阵 所有元素值为1的矩阵称为幺矩阵 幺矩阵可以用ones函数实现 它的调用格式与zeros函数一样 例1 试用ones分别建立3 2阶幺矩阵 和与前例矩阵A同样大小的幺矩阵 用ones 3 2 建立一个3 2阶幺阵 ones 3 2 一个3 2阶幺阵ans 111111 一 特殊矩阵的实现 3 单位矩阵 主对角线的元素值为1 其余元素值为0的矩阵称为单位矩阵 它可以用MATLAB内部函数eye建立 使用格式与zeros相同 4 数量矩阵 主对角线的元素值为一常数d 其余元素值为0的矩阵称为数量矩阵 显然 当d 1时 即为单位矩阵 故数量矩阵可以用eye m d或eye m n d建立 一 特殊矩阵的实现 5 对角阵 对角线的元素值为常数 其余元素值为0的矩阵称为对角阵 我们可以通过MATLAB内部函数diag 利用一个向量构成对角阵 或从矩阵中提取某对角线构成一个向量 使用格式为 diag V diag V k 设V为具有m个元素的向量 diag V 将产生一个m m阶对角阵 其主对角线的元素值即为向量的元素值 diag V k 将产生一个n n n m k k为一整数 阶对角阵 其第k条对角线的元素值即为向量的元素值 注意 当k 0 则该对角线位于主对角线的上方第k条 当k 0 该对角线位于主对角线的下方第 k 条 当k 0 则等同于diag V 用diag建立的对角阵必是方阵 一 特殊矩阵的实现 例2 已知向量v 试建立以向量v作为主对角线的对角阵A 建立分别以向量v作为主对角线两侧的对角线的对角阵B和C MATLAB程序如下 v 1 2 3 建立一个已知的向量AA diag v A 100020003B diag v 1 B 0100002000030000C diag v 1 C 0000100002000030 按各种对角线情况构成相应的对角阵A B和C 一 特殊矩阵的实现 6 上三角阵 使用格式为triu A triu A k 设A为m n阶矩阵 triu A 将从矩阵A中提取主对角线之上的上三角部分构成一个m n阶上三角阵 triu A k 将从矩阵A中提取主对角线第 k 条对角线之上的上三角部分构成一个m n阶上三角阵 注意 这里的k与diag A k 的用法类似 当k 0 则该对角线位于主对角线的上方第k条 当k 0 该对角线位于主对角线的下方第 k 条 当k 0 则等同于triu A 一 特殊矩阵的实现 例4 试分别用triu A triu A 1 和 triu A 1 从矩阵A提取相应的上三角部分构成上三角阵B C和D MATLAB程序如下 A 123 456 789 987 一个已知的4 3阶矩阵A 构成各种情况的上三角阵B C和DB triu A B 123056009000C triu A 1 D triu A 1 一 特殊矩阵的实现 8 下三角阵 使用格式为tril A tril A k tril的功能是从矩阵A中提取下三角部分构成下三角阵 用法与triu相同 8 空矩阵在MATLAB里 把行数 列数为零的矩阵定义为空矩阵 空矩阵在数学意义上讲是空的 但在MATLAB里确是很有用的 例如A 0 10 20 3 0 40 50 6 B find A 1 0 返回向量A中符合条件的元素的位置B 这里 是空矩阵的符号 B find A 1 0 表示列出矩阵A中值大于1 0的元素的序号 当不能满足括号中的条件时 返回空矩阵 另外 也可以将空矩阵赋给一个变量 如 B B 一 特殊矩阵的实现 二 矩阵的特征值与特征向量 对于N N阶方阵A 所谓A的特征值问题是 求数 和N维非零向量x 通常为复数 使之满足下式 Ax x则称 为矩阵A的一个特征值 特征根 而非零向量x为矩阵A的特征值 所对应的特征向量 对一般的N N阶方阵A 其特征值通常为复数 若A为实对称矩阵 则A的特征值为实数 二 矩阵的特征值与特征向量 MATLAB提供的内部函数eig可以用来计算特征值与特征向量 eig函数的使用格式有五种 其中常见的有E eig A V D eig A 二 矩阵的特征值与特征向量 1 E eig A 由eig A 返回方阵A的N个特征值 构成向量E 2 V D eig A 由eig A 返回方阵A的N个特征值 构成N N阶对角阵D 其对角线上的N个元素即为相应的特征值 同时将返回相应的特征向量赋予N N阶方阵V的对应列 例5 试用格式 1 求下列对称矩阵A的特征值 用格式 2 求A的特征值和相应的特征向量 且验证之 A 1 00001 00000 50001 00001 00000 25000 50000 25002 0000 执行eig A 将直接获得对称矩阵A的三个实特征值 二 矩阵的特征值与特征向量 eig A ans 0 01661 48012 5365而下列命令则将其三个实特征值作为向量赋予变量E E eig A E 0 01661 48012 5365 二 矩阵的特征值与特征向量 三 行列式的值 MATLAB提供的内部函数det用来计算矩阵的行列式的值 设矩阵A为一方阵 必须是方阵 求矩阵A的行列式值的格式为 det A 注意 本函数同样能计算通过构造出的稀疏矩阵的行列式的值 三 行列式的值 例6 利用随机函数产生一个三阶方阵A 然后计算方阵之行列式的值 A rand 3 A 0 95010 48600 45650 23110 89130 01850 60680 76210 8214det A ans 0 4289 四 矩阵求逆及其线性代数方程组求解 1 矩阵的基本性质 矩阵的秩 矩阵线性无关的行数与列数称为矩阵的秩 在MATLAB中 求矩阵秩的函数是rank A 矩阵的迹 等于矩阵的对角线元素之和 也等于矩阵的特征值之和 在MATLAB中 求矩阵的迹的函数是trace A 向量的范数 用来度量矩阵或向量在某种意义下的长度 范数有多种方法定义 其定义不同 范数值也就不同 1 norm V 或norm V 2 计算向量V的2 范数 2 norm V 1 计算向量V的1 范数 3 norm V inf 计算向量V的 范数 矩阵的范数 MATLAB提供了求3种矩阵范数的函数 其函数调用格式与求向量的范数的函数完全相同 矩阵的条件数 在MATLAB中 计算矩阵A的3种条件数的函数是 1 cond A 1 计算A的1 范数下的条件数 2 cond A 或cond A 2 计算A的2 范数数下的条件数 3 cond A inf 计算A的 范数下的条件数 2 矩阵求逆若方阵A B满足等式A B B A I I为单位矩阵 则称A为B的逆矩阵 或称B为A的逆矩阵 这时A B都称为可逆矩阵 或非奇异矩阵 或满秩矩阵 否则称为不可逆矩阵 或奇异矩阵 或降秩矩阵 四 矩阵求逆及其线性代数方程组求解 例7 试用inv函数求方阵A的逆阵A 1赋值给B 且验证A与A 1是互逆的 A 1 11 5 43 211 B inv A B 1 40000 40000 20000 2000 0 20000 40002 6000 0 60000 2000A Bans 1 00000 00000 00000 00001 00000 00000 00000 00001 0000 B Aans 1 00000 00000 00000 00001 00000 00000 00000 00001 0000 四 矩阵求逆及其线性代数方程组求解 3 矩阵求逆解法利用求系数矩阵A的逆阵A 1 我们可以得到矩阵求逆解法 对于线性代数方程组Ax b 等号两侧各左乘A 1 有 A 1Ax A 1b由于A 1A I 故得 x A 1b 四 矩阵求逆及其线性代数方程组求解 例8 试用矩阵求逆解法求解例6 20中矩阵A为系数矩阵的线性代数方程组Ax b的解 A 1 11 5 43 211 b 2 3 1 x inv A bx 3 80001 40007 2000 四 矩阵求逆及其线性代数方程组求解 4 直接解法对于线性代数方程组Ax b 我们可以运用左除运算符 象解一元一次方程那样简单地求解 x A b当系数矩阵A为N N的方阵时 MATLAB会自行用高斯消去法求解线性代数方程组 若右端项b为N 1的列向量 则x A b可获得方程组的数值解x N 1的列向量 若右端项b为N M的矩阵 则x A b可同时获得同一系数矩阵A M个方程组数值解x 为N M的矩阵 即x j A b j j 1 2 M 四 矩阵求逆及其线性代数方程组求解 四 矩阵求逆及其线性代数方程组求解 解法1 分别解方程组 1 Ax b1 2 Ay b2A 1 11 5 43 211 b1 2 3 1 b2 3 4 5 x A b1x 3 80001 40007 2000 y A b2 3 6000 2 20004 4000 得两个线性代数方程组的解 1 x1 3 8 x2 1 4 x3 7 2 2 y1 3 8 y2 1 4 y3 7 2 四 矩阵求逆及其线性代数方程组求解 解法2 将两个方程组连在一起求解 Az bb 23 34 1 5 z A bz 3 8000 3 60001 4000 2 20007 20004 4000很明显 这里的解z的两个列向量便是前面分别求得的两组解x和y 四 矩阵求逆及其线性代数方程组求解 五 多项式运算及其求根 五 多项式运算及其求根 MATLAB语言把多项式表达成一个行向量 鉴于MATLAB无零下标 故把多项式的一般形式表达为 在MATLAB里 多项式由一个行向量表示 该向量中的元素是按多项式降幂排列的 P a1a2 anan 1 注意 必须包括具有零系数的项 五 多项式运算及其求根 多项式求根命令格式 x roots A 这里A为多项式的系数A 1 A 2 A N A N 1 解得的根赋值给数组X 即X 1 X 2 X N 例9 试用ROOTS函数求多项式x4 8x3 10的根这是一个4次多项式 它的五个系数依次为 1 8 0 0 10 下面先产生多项式系数的向量A 然后求根 A 1800 10 A 1800 10 x roots A x 8 0194 0 5075 0 9736i 0 5075 0 9736i1 0344 五 多项式运算及其求根 多项式的建立若已知多项式的全部根 则可以用POLY函数建立起该多项式 也可以用POLY函数求矩阵的特征多项式 POLY函数是一个MATLAB程序 调用它的命令格式是 A poly x 若x为具有N个元素的向量 则poly x 建立以x为其根的多项式 且将该多项式的系数赋值给向量A 例 a 123 456 780 p poly a p1 poly2str p x 显示数学多项式的形式 五 多项式运算及其求根 求多项式的值POLYVAL函数用来求代数多项式的值 调用的命令格式为 Y polyval A x 本命令将POLYVAL函数返回的多项式的值赋值给Y 若x为一数值 则Y也为一数值 若x为向量或矩阵 则对向量或矩阵中的每个元素求其多项式的值 五 多项式运算及其求根 例10 以例9的4次多项式 分别取x 1 2和下面的矩阵的2 3个元素为自变量计算该多项式的值 A 1800 10 例9的4次多项式系数x 1 2 取自变量为一数值y1 polyval A x y1 97 3043x 11 2 1 4 2 1 81 6 给出一个矩阵xx 1 00001 2000 1 4000 五 多项式运算及其求根 多项式的四则运算 1 多项式加 减对于次数相同的若干个多项式 可直接对多项式系数向量进行加 减的运算 如果多项式的次数不同 则应该把低次的多项式系数不足的高次项用零补足 使同式中的各多项式具有相同的次数 五 多项式运算及其求根 2 多项式乘法若A B是由多项式系数组成的向量 则CONV函数将返回这两个多项式的乘积 调用它的命令格式为 C conv A B 命令的结果C为一个向量 由它构成一个多项式 例11 a x x2 2x 3 b x 4x2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论