线性代数中的数值计算问题()

上传人:woxinch****an2018 文档编号:45011301 上传时间:2018-06-14 格式:PPT 页数:51 大小:221.50KB
返回 下载 相关 举报
线性代数中的数值计算问题()_第1页
第1页 / 共51页
线性代数中的数值计算问题()_第2页
第2页 / 共51页
线性代数中的数值计算问题()_第3页
第3页 / 共51页
线性代数中的数值计算问题()_第4页
第4页 / 共51页
线性代数中的数值计算问题()_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《线性代数中的数值计算问题()》由会员分享,可在线阅读,更多相关《线性代数中的数值计算问题()(51页珍藏版)》请在金锄头文库上搜索。

1、第五讲 线性代数中的 数值计算问题【引 例 】求下列三阶线性代数方程组的近似解MATLAB程序为:A=2 -5 4;1 5 -2;-1 2 4;b=5;6;5;x=Ab在MATLAB命令窗口,先输入下列命令构造系 数矩阵A和右端向量b: A=2 -5 4;1 5 -2;-1 2 4A = 2 -5 41 5 -2-1 2 4 b=5;6;5b = 565 然后只需输入命令x=Ab即可求得解x: x=Abx = 2.76741.18601.3488一、 特殊矩阵的实现1.零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可 以用zeros函数实现。zeros是MATLAB内部函数,使用格 式如下:z

2、eros(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同样大小的幺矩

3、阵。 用ones(3,2) 建立一个3 2阶幺阵: ones(3,2) % 一个3 2阶幺阵ans =1 11 11 1一、 特殊矩阵的实现3.单位矩阵:主对角线的元素值为1、其余元素值为0的 矩阵称为单位矩阵。它可以用MATLAB内部函数eye建 立,使用格式与zeros相同。4.数量矩阵:主对角线的元素值为一常数d、其余元素值 为0的矩阵称为数量矩阵。显然,当d=1时,即为单位 矩阵,故数量矩阵可以用eye(m)*d或eye(m,n)*d建立。一、 特殊矩阵的实现5.对角阵:对角线的元素值为常数、其余元素值为0的矩 阵称为对角阵。我们可以通过MATLAB内部函数diag ,利用一个向量构成

4、对角阵;或从矩阵中提取某对角 线构成一个向量。使用格式为diag(V)和diag(V,k)两种。6.用一个向量V构成一个对角阵 设V为具有m个元素的向量,diag(V)将产生一个m m阶 对角阵,其主对角线的元素值即为向量的元素值; diag(V,k)将产生一个n n(n=m+|k|,k为一整数)阶对角阵 ,其第k条对角线的元素值即为向量的元素值。注意: 当k0,则该对角线位于主对角线的上方第k条;当k 0,该对角线位于主对角线的下方第|k|条;当k=0, 则等同于diag(V)。用diag建立的对角阵必是方阵。一、 特殊矩阵的实现【例2】已知向量v,试建立以向量v作为主对角线的对 角阵A;建

5、立分别以向量v作为主对角线两侧的对角线 的对角阵B和C。 MATLAB程序如下:v =1;2;3; % 建立一个已知的向量A A=diag(v) A= 1 0 00 2 00 0 3 B=diag(v,1) B = 0 1 0 00 0 2 00 0 0 30 0 0 0 C=diag(v,-1) C = 0 0 0 01 0 0 00 2 0 00 0 3 % 按各种对角线情况构成相应的对角阵A、B和C一、 特殊矩阵的实现7.从矩阵中提取某对角线 我们也可以用diag从矩阵中提取某对角线构成 一个向量。设A为m n阶矩阵,diag(A)将从矩 阵A中提取其主对角线产生一个具有min(m,n)

6、 个元素的向量。diag(A,k)的功能是: 当k0,则将从矩阵A中提取位于主对角线的 上方第k条对角线构成一个具有n-k个元素的向 量;当k0,则将从矩阵A中提取位于主对角 线的下方第|k|条对角线构成一个具有m+k个元 素的向量;当k=0,则等同于diag(A)。一、 特殊矩阵的实现【例3】 已知矩阵A,试从矩阵A分别提取主对 角线及它两侧的对角线构成向量B、C和D。 MATLAB程序如下:A=1 2 3;4 5 6; % 建立一个已知的2 3阶矩阵A % 按各种对角线情况构成向量B、C和D B=diag(A) B = 15 C=diag(A,1) C = 26 D=diag(A,-1)

7、D = 4一、 特殊矩阵的实现8.上三角阵:使用格式为triu(A)、triu(A,k) 设A为m n阶矩阵,triu(A)将从矩阵A中提取主 对角线之上的上三角部分构成一个m n阶上三 角阵;triu(A,k)将从矩阵A中提取主对角线第|k| 条对角线之上的上三角部分构成一个m n阶上 三角阵。注意:这里的k与diag(A,k)的用法类似 ,当k0,则该对角线位于主对角线的上方第 k条;当k0,该对角线位于主对角线的下方 第|k|条;当k=0,则等同于triu (A)一、 特殊矩阵的实现【例4】试分别用triu(A)、triu(A,1)和、triu(A,-1)从矩 阵A提取相应的上三角部分构

8、成上三角阵B、C和D。 MATLAB程序如下:A=1 2 3;4 5 6;7 8 9;9 8 7; % 一个已知的4 3阶矩阵A % 构成各种情况的上三角阵B、C和D B=triu(A) B = 1 2 30 5 60 0 90 0 0 C=triu(A,1) D=triu(A,-1)一、 特殊矩阵的实现9.下三角阵:使用格式为tril(A)、tril(A,k) tril的功能是从矩阵A中提取下三角部分构成下三角阵 。用法与triu相同。10.空矩阵在MATLAB里,把行数、列数为零的矩阵定义为空矩阵。空矩阵 在数学意义上讲是空的,但在MATLAB里确是很有用的。例如 A=0.1 0.2 0.

9、3;0.4 0.5 0.6; B=find(A1.0) B = 这里 是空矩阵的符号,B=find(A1.0)表示列出矩阵A中值大于 1.0的元素的序号。当不能满足括号中的条件时,返回空矩阵。另 外,也可以将空矩阵赋给一个变量,如: B= B = 一、 特殊矩阵的实现矩阵加、减(,)运算规则: 相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。 允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。矩阵运算2. 矩阵乘()运算规则:A矩阵的列数必须等于B矩阵的行数标量可与任何矩阵相乘。a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc =143223 d

10、=-1;0;2;f=pi*d f = -3.141606.2832矩阵除的运算在线性代数中没有,有矩 阵逆的运算,在matlab中有两种矩阵除 运算a p a 自乘p次幂方阵1的整数3. 矩阵乘方 an,ap,pa对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量ap使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,ap则无意义。a=1,2,3;4,5,6;7,8,9;a2ans =30 36 4266 81 96102 126 150当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。a0.5ans =0.4498 + 0.7623i 0.5526 + 0.2068i

11、0.6555 -0.3487i1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717iinv 矩阵求逆det 行列式的值eig 矩阵的特征值 矩阵转置sqrt 矩阵开方4. 矩阵的其它运算 5.矩阵的一些特殊操作矩阵的变维a=1:12;b=reshape(a,3,4)c=zeros(3,4);c(:)=a(:)矩阵的变向rot90:旋转; fliplr:上翻; flipud:下翻矩阵的抽取diag:抽取主对角线;tril: 抽取主下三角;triu:抽取

12、主上三角矩阵的扩展关系运算关系符号意义= = =小于 小于或等于 大于 大于或等于 等于 不等于数组运算指元素对元素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同数组加减(.+,.-)a.+ba.- b5. 矩阵的数组运算 对应元素相加减(与矩阵加 减等效)2. 数组乘除(,./,.) ab a,b两数组必须有相同的行 和列两数组相应元素相乘。 a=1 2 3;4 5 6;7 8 9; b=2 4 6;1 3 5;7 9 10; a.*b ans =2 8 18 4 15 30 49 72 90 a=1 2 3;4 5 6;7 8 9; b=2 4 6;1 3 5;7 9 10;a

13、*b ans =25 37 46 55 85 109 85 133 172 a./b=b.a a.b=b./a a./b=b.a 都是a的元素被b的对应元 素除 a.b=b./a 都是a的元素被b的对应元素除 例: a=1 2 3;b=4 5 6; c1=a.b; c2=b./a c1 = 4.0000 2.5000 2.0000 c2 = 4.0000 2.5000 2.0000 给出a,b对应元素间的商.3. 数组乘方(.) 元素对元素的幂 例: a=1 2 3;b=4 5 6; z=a.2 z =1.00 4.00 9.00 z=a.b z =1.00 32.00 729.00二、矩阵的

14、特征值 与特征向量对于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)和 V,D=eig(A,nobalance)三种,另外两种格式 用来计算矩阵的广义特征值与特征向量: E=eig(A,B)和V,D=eig(A,B)。二、矩阵的特征值与特征向量(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的对应列,且A、V、D满足 AV=V D; (3) V,D=eig(A,nobalanc

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

当前位置:首页 > 中学教育 > 高中教育

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