版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二讲 线性代数中的数值计算问题【引引 例例 】求下列三阶线性代数方程组的近似解5426255452321321321xxxxxxxxxMATLAB程序为: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 4 1 5 -2 -1 2 4b=5;6;5b = 5 6 5然后只需输入命令x=Ab即可求得解x:x=Abx = 2.7674 1.1860 1.3488一、 特殊矩阵的实现1.零矩阵零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可以用zero
2、s函数实现。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 1】 试用on
3、es分别建立32阶幺矩阵、和与前例矩阵A同样大小的幺矩阵。用ones(3,2) 建立一个32阶幺阵:ones(3,2) % 一个32阶幺阵ans =1 1 1 1 1 1一、 特殊矩阵的实现3.单位矩阵单位矩阵:主对角线的元素值为1、其余元素值为0的矩阵称为单位矩阵。它可以用MATLAB内部函数eye建立,使用格式与zeros相同。4.数量矩阵数量矩阵:主对角线的元素值为一常数d、其余元素值为0的矩阵称为数量矩阵。显然,当d=1时,即为单位矩阵,故数量矩阵可以用eye(m)*d或eye(m,n)*d建立。一、 特殊矩阵的实现5.对角阵对角阵:对角线的元素值为常数、其余元素值为0的矩阵称为对角阵
4、。我们可以通过MATLAB内部函数diag,利用一个向量构成对角阵;或从矩阵中提取某对角线构成一个向量。使用格式为: diag(V), diag(V,k)设V为具有m个元素的向量,diag(V)将产生一个mm阶对角阵,其主对角线的元素值即为向量的元素值;diag(V,k)将产生一个nn(n=m+|k|,k为一整数)阶对角阵,其第k条对角线的元素值即为向量的元素值。注意:当k0,则该对角线位于主对角线的上方第k条;当k0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于diag(V)。用diag建立的对角阵必是方阵。一、 特殊矩阵的实现【例例2 2】已知向量v,试建立以向量v作为主对角线
5、的对角阵A;建立分别以向量v作为主对角线两侧的对角线的对角阵B和C。MATLAB程序如下:v =1;2;3; % 建立一个已知的向量AA=diag(v)A= 1 0 0 0 2 0 0 0 3B=diag(v,1)B = 0 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0C=diag(v,-1)C = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 % 按各种对角线情况构成相应的对角阵A、B和C一、 特殊矩阵的实现6.上三角阵:使用格式为triu(A)、triu(A,k)设A为mn阶矩阵,triu(A)将从矩阵A中提取主对角线之上的上三角部分构成一个m n阶上三角阵
6、;triu(A,k)将从矩阵A中提取主对角线第|k|条对角线之上的上三角部分构成一个m n阶上三角阵。注意:这里的k与diag(A,k)的用法类似,当k0,则该对角线位于主对角线的上方第k条;当k0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于triu (A)一、 特殊矩阵的实现【例例4 4】试分别用triu(A)、triu(A,1)和、triu(A,-1)从矩阵A提取相应的上三角部分构成上三角阵B、C和D。MATLAB程序如下:A=1 2 3;4 5 6;7 8 9;9 8 7; % 一个已知的43阶矩阵A% 构成各种情况的上三角阵B、C和DB=triu(A)B = 1 2 3
7、0 5 6 0 0 9 0 0 0C=triu(A,1)D=triu(A,-1)一、 特殊矩阵的实现8.下三角阵:使用格式为tril(A)、tril(A,k)tril的功能是从矩阵A中提取下三角部分构成下三角阵。用法与triu相同。8.空矩阵空矩阵在MATLAB里,把行数、列数为零的矩阵定义为空矩阵。空矩阵在数学意义上讲是空的,但在MATLAB里确是很有用的。例如A=0.1 0.2 0.3;0.4 0.5 0.6;B=find(A1.0) %返回向量A中符合条件的元素的位置B = 这里 是空矩阵的符号,B=find(A1.0)表示列出矩阵A中值大于1.0的元素的序号。当不能满足括号中的条件时,
8、返回空矩阵。另外,也可以将空矩阵赋给一个变量,如:B= B = 一、 特殊矩阵的实现二、矩阵的特征值 与特征向量对于NN阶方阵A,所谓A的特征值问题是:求数和N维非零向量x(通常为复数),使之满足下式: Ax=x则称为矩阵A的一个特征值(特征根),而非零向量x为矩阵A的特征值所对应的特征向量。对一般的NN阶方阵A,其特征值通常为复数,若A为实对称矩阵,则A的特征值为实数。二、矩阵的特征值与特征向量MATLAB提供的内部函数eig可以用来计算特征值与特征向量.eig函数的使用格式有五种,其中常见的有 E=eig(A), V,D=eig(A),二、矩阵的特征值与特征向量(1) E=eig(A):由
9、eig(A)返回方阵A的N个特征值,构成向量E;(2) V,D=eig(A):由eig(A)返回方阵A的N个特征值,构成NN阶对角阵D,其对角线上的N个元素即为相应的特征值,同时将返回相应的特征向量赋予NN阶方阵V的对应列; 【例例5 5】试用格式(1)求下列对称矩阵A的特征值;用格式(2)求A的特征值和相应的特征向量,且验证之。A = 1.0000 1.0000 0.5000 1.0000 1.0000 0.2500 0.5000 0.2500 2.0000 ;执行eig(A)将直接获得对称矩阵A的三个实特征值:二、矩阵的特征值与特征向量eig(A)ans = -0.0166 1.4801
10、2.5365而下列命令则将其三个实特征值作为向量赋予变量E:E=eig(A)E = -0.0166 1.4801 2.5365二、矩阵的特征值与特征向量三、行列式的值MATLAB提供的内部函数det用来计算矩阵的行列式的值。设矩阵A为一方阵(必须是方阵),求矩阵A的行列式值的格式为:det(A)。注意:本函数同样能计算通过构造出的稀疏矩阵的行列式的值。三、行列式的值【例例6 6】利用随机函数产生一个三阶方阵A,然后计算方阵之行列式的值。A=rand(3)A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214det(A
11、)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):计算向
12、量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都称为可逆矩阵(或非奇异矩阵、或满秩矩阵),否则称为不可逆矩阵(或奇
13、异矩阵、或降秩矩阵)。四、矩阵求逆及其线性代数方程组求解【例例7 7】试用inv函数求方阵A的逆阵A-1赋值给B,且验证A与A-1是互逆的。A=1 -1 1;5 -4 3;2 1 1;B=inv(A)B = -1.4000 0.4000 0.2000 0.2000 -0.2000 0.4000 2.6000 -0.6000 0.2000A*Bans = 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000B*Aans = 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.
14、0000 1.0000四、矩阵求逆及其线性代数方程组求解3. 矩阵求逆解法矩阵求逆解法利用求系数矩阵A的逆阵A-1,我们可以得到矩阵求逆解法。对于线性代数方程组Ax=b,等号两侧各左乘A-1,有:A-1Ax=A-1b由于A-1A=I,故得:x=A-1b四、矩阵求逆及其线性代数方程组求解【例例8 8】试用矩阵求逆解法求解例6.20中矩阵A为系数矩阵的线性代数方程组Ax=b的解。A=1 -1 1;5 -4 3;2 1 1;b=2;-3;1;x=inv(A)*bx = -3.8000 1.4000 7.2000四、矩阵求逆及其线性代数方程组求解4. 直接解法直接解法对于线性代数方程组Ax=b,我们可
15、以运用左除运算符“”象解一元一次方程那样简单地求解: x=Ab当系数矩阵A为N*N的方阵时,MATLAB会自行用高斯消去法求解线性代数方程组。若右端项b为N*1的列向量,则x=Ab可获得方程组的数值解x(N*1的列向量);若右端项b为N*M的矩阵,则x=Ab可同时获得同一系数矩阵A、M个方程组数值解x(为N*M的矩阵),即x(:,j)=Ab(:,j),j=1,2,M。四、矩阵求逆及其线性代数方程组求解132321112345111xxx543321112345111yyy四、矩阵求逆及其线性代数方程组求解解法解法1:分别解方程组 (1)Ax=b1;(2)Ay=b2A=1 -1 1;5 -4 3
16、;2 1 1;b1=2;-3;1;b2=3;4;-5;x=Ab1x = -3.8000 1.4000 7.2000y=Ab2 -3.6000 -2.2000 4.4000得两个线性代数方程组的解: (1) x1= -3.8, x2= 1.4, x3= 7.2; (2) y1= -3.8, y2= 1.4, y3= 7.2四、矩阵求逆及其线性代数方程组求解解法解法2:将两个方程组连在一起求解:Az=bb=2 3;-3 4;1 -5z=Abz = -3.8000 -3.6000 1.4000 -2.2000 7.2000 4.4000很明显,这里的解z的两个列向量便是前面分别求得的两组解x和y四、
17、矩阵求逆及其线性代数方程组求解五 、多项式运算 及其求根五、 多项式运算及其求根 MATLAB语言把多项式表达成一个行向量。鉴于MATLAB无零下标,故把多项式的一般形式表达为: 在MATLAB里,多项式由一个行向量表示,该向量中的元素是按多项式降幂排列的。 P=a1 a2 an an+1 注意,必须包括具有零系数的项 。1121nnnnaxaxaxa五、 多项式运算及其求根1. 多项式求根多项式求根命令格式:x=roots(A)。这里A为多项式的系数A(1),A(2),A(N),A(N+1);解得的根赋值给数组X,即X(1),X(2), ,X(N)。【例例9 9】试用ROOTS函数求多项式x
18、4+8x3-10的根这是一个4次多项式,它的五个系数依次为:1,8,0,0,-10。下面先产生多项式系数的向量A,然后求根:A=1 8 0 0 -10A = 1 8 0 0 -10 x=roots(A)x = -8.0194 -0.5075 + 0.9736i -0.5075 - 0.9736i 1.0344 五、 多项式运算及其求根2. 多项式的建立多项式的建立若已知多项式的全部根,则可以用POLY函数建立起该多项式;也可以用POLY函数求矩阵的特征多项式。POLY函数是一个MATLAB程序,调用它的命令格式是: A=poly(x)若x为具有N个元素的向量,则poly(x)建立以x为其根的多
19、项式,且将该多项式的系数赋值给向量A。例:a=1 2 3;4 5 6;7 8 0; p=poly(a) p1=poly2str(p,x) %显示数学多项式的形式五、 多项式运算及其求根3. 求多项式的值求多项式的值POLYVAL函数用来求代数多项式的值,调用的命令格式为: Y=polyval(A,x)本命令将POLYVAL函数返回的多项式的值赋值给Y。若x为一数值,则Y也为一数值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。五、 多项式运算及其求根【例例1010】以例9的4次多项式、分别取x=1.2和下面的矩阵的23个元素为自变量计算该多项式的值。A=1 8 0 0 -10;
20、% 例9的4次多项式系数x=1.2; % 取自变量为一数值y1=polyval(A,x)y1 = -97.3043x=-1 1.2 -1.4;2 -1.8 1.6 % 给出一个矩阵xx = -1.0000 1.2000 -1.4000五、 多项式运算及其求根4. 多项式的四则运算多项式的四则运算(1)多项式加、减多项式加、减对于次数相同的若干个多项式,可直接对多项式系数向量进行加、减的运算。如果多项式的次数不同,则应该把低次的多项式系数不足的高次项用零补足,使同式中的各多项式具有相同的次数。五、 多项式运算及其求根(2)多项式乘法多项式乘法若A、B是由多项式系数组成的向量,则CONV函数将返回这两个多项式的乘积。调用它的命令格式为:C=conv(A,B)命令的结果C为一个向量,由它构成一个多项式。【例例1111】 a(x)=x2+2x+3; b(x)=4x2+5x+6; c(x) = (x2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026校招:上海农村商业银行面试题及答案
- 2026年太原幼儿师范高等专科学校单招职业技能测试题库及答案详解(易错题)
- 2026年大庆医学高等专科学校单招综合素质考试题库含答案详解(夺分金卷)
- 2026年天津医学高等专科学校单招职业倾向性测试题库附参考答案详解(a卷)
- 2026年宁夏建设职业技术学院单招职业适应性考试题库带答案详解(满分必刷)
- 2026年四川职业技术学院单招职业技能考试题库附答案详解(基础题)
- 农村养老服务机构互联网监督实施办法
- 2026年天津国土资源和房屋职业学院单招职业技能考试题库及参考答案详解一套
- 2026年四平职业大学单招职业技能测试题库附参考答案详解(完整版)
- 2026年宁夏财经职业技术学院单招综合素质考试题库带答案详解(达标题)
- 2026年苏教版五年级英语上册期末真题和答案
- 医疗行业商业秘密保护典型案例评析与启示
- 中学生用电安全 课件
- 放射护理继续教育
- 地下商场火灾应急处置预案
- 瞳孔检查课件
- 疫苗冷链管理培训课件
- 游泳救生培训课件
- DB11∕T 2447-2025 村庄雨水排除与内涝防治技术规范
- 2026年浙江经贸职业技术学院单招职业适应性考试题库及参考答案详解1套
- 2026年初级银行从业资格之初级银行业法律法规与综合能力考试题库500道附答案(夺分金卷)
评论
0/150
提交评论