第五讲 线性代数中的数值计算问题.

Slides:



Advertisements
Similar presentations
§3.4 空间直线的方程.
Advertisements

§1. 预备知识:向量的内积 ★向量的内积的概念 ★向量的长度 ★向量的正交性 ★向量空间的正交规范基的概念 ★向量组的正交规范化
向量空间与线性变换 在数学大厦中的重要地位
3.4 空间直线的方程.
—— matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位
第4章 线性代数 4.1 矩阵的生成 通过元素列表榆入 通过外部数据加载 在M文件中创建矩阵
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
第3节 二次型与二次型的化简 一、二次型的定义 二、二次型的化简(矩阵的合同) 下页.
§1 二阶与三阶行列式 ★二元线性方程组与二阶行列式 ★三阶行列式
6.9二元一次方程组的解法(2) 加减消元法 上虹中学 陶家骏.
一、二阶行列式的引入 用消元法解二元线性方程组. 一、二阶行列式的引入 用消元法解二元线性方程组.
第三章 解线性方程组的直接法 (3.1) AX = b.
第五章 矩阵与行列式 §5.4 逆矩阵 §5.5 矩阵的初等变换.
§1 线性空间的定义与性质 ★线性空间的定义 ★线性空间的性质 ★线性空间的子空间 线性空间是线性代数的高等部分,是代数学
第一章 行列式 第五节 Cramer定理 设含有n 个未知量的n个方程构成的线性方程组为 (Ⅰ) 由未知数的系数组成的n阶行列式
§5.3 定积分的换元法 和分部积分法 一、 定积分的换元法 二、 定积分的分部积分法 三、 小结、作业.
第三讲 矩阵特征值计算及其应用 — 正交变换与QR方法.
第 11 章 矩 阵 上一章讨论的线性方程组,未知数的个 数与方程的个数相等,且系数行列式不等于 零。但是再实际应用中,还会出现未知数的
第二章 矩阵(matrix) 第8次课.
线性代数机算与应用 李仁先 2018/11/24.
第2章 MATLAB矩阵及其运算 2. 1 变量和数据操作 2. 2 MATLAB矩阵 2. 3 MATLAB运算 2. 4 矩阵分析 2
元素替换法 ——行列式按行(列)展开(推论)
!!! 请记住:矩阵是否等价只须看矩阵的秩是否相同。
正交变换与正交矩阵 戴立辉 林大华 林孔容 (闽江学院数学系,福建 福州 ).
I. 线性代数的来龙去脉 -----了解内容简介
第四章 矩阵 §1 矩阵概念的一些 背景 §6 初等矩阵 §4 矩阵的逆 §5 矩阵的分块 §2 矩阵的运算 §3 矩阵乘积的行列 式与秩
第二章 矩阵及其运算 §1 线性方程组和矩阵 §2 矩阵的运算 §3 逆矩阵 §4 克拉默法则 §5 矩阵分块法.
第四章 向量组的线性相关性.
第一章 函数与极限.
第5章 线性代数 矩阵分析 矩阵分解 线性方程组的求解 符号矩阵.
用数学软件解决高等代数问题 主讲 张力宏、张洪刚
实数与向量的积.
第8讲 逆矩阵 主要内容: 1. 逆矩阵的定义及性质 2. 求逆矩阵的伴随矩阵法 3.求逆矩阵的初等行变换法.
线性代数 第二章 矩阵 §1 矩阵的定义 定义:m×n个数排成的数表 3) 零矩阵: 4) n阶方阵:An=[aij]n×n
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
特 征 值 与 特 征 向 量 一、特征值与特征向量的概念 二、特征值和特征向量的性质.
張智星 (Roger Jang) 清大資工系 多媒體檢索實驗室
本章學習目標 認識陣列裡元素的結構 學習多維陣列的建立 學習編修矩陣的內容 學習基本的矩陣數學運算
复习.
第五章 线性代数运算命令与例题 北京交通大学.
第三单元 第2课 实验 一元函数的积分 实验目的:掌握matlab求解有关不定积分和定积分的问题,深入理解定积分的概念和几何意义。
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
§3 向量组的秩.
§8.3 不变因子 一、行列式因子 二、不变因子.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
3.1.2 空间向量的数量积运算 1.了解空间向量夹角的概念及表示方法. 2.掌握空间向量数量积的计算方法及应用.
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
4) 若A可逆,则 也可逆, 证明: 所以.
反矩陣與行列式 東海大學物理系‧數值分析.
第五章 相似矩阵及二次型.
线性代数 第十一讲 分块矩阵.
建模常见问题MATLAB求解  .
一元二次不等式解法(1).
2.2矩阵的代数运算.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
A经有限次初等变换化为B,称A与B等价,记作A→B.
高中数学必修 平面向量的基本定理.
§2 方阵的特征值与特征向量.
第五节 线性方程组有解判别定理 一、线性方程组的向量表示形式 二、线性方程组有解判别定理 三、一般线性方程组的解法 四、线性方程组的求解步骤.
第三章 矩 阵的秩和线性方程组的相容性定理 第一讲 矩阵的秩;初等矩阵 第二讲 矩阵的秩的求法和矩阵的标准形 第三讲 线性方程组的相容性定理.
定义5 把矩阵 A 的行换成同序数的列得到的矩阵,
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
教学大纲(甲型,54学时 ) 教学大纲(乙型, 36学时 )
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
第一节 矩阵的初等变换 一、消元法解线性方程组 二、矩阵的初等变换 三、初等矩阵的概念 四、初等矩阵的应用.
§4.5 最大公因式的矩阵求法( Ⅱ ).
§1 向量的内积、长度及正交性 1. 内积的定义及性质 2. 向量的长度及性质 3. 正交向量组的定义及求解 4. 正交矩阵与正交变换.
第三章 线性方程组 §4 n维向量及其线性相关性(续7)
一元一次方程的解法(-).
Presentation transcript:

第五讲 线性代数中的数值计算问题

【引 例 】求下列三阶线性代数方程组的近似解 MATLAB程序为: A=[2 -5 4;1 5 -2;-1 2 4]; b=[5;6;5]; x=A\b

在MATLAB命令窗口,先输入下列命令构造系数矩阵A和右端向量b: 1 5 -2 -1 2 4 b=[5;6;5] b = 5 6 5 然后只需输入命令x=A\b即可求得解x: x=A\b x = 2.7674 1.1860 1.3488

一、 特殊矩阵的实现

1.零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可 以用zeros函数实现。zeros是MATLAB内部函数,使用格式 如下: 一、 特殊矩阵的实现 常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵、三角形矩阵等,这类特殊矩阵在线性代数中具有通用性;还有一类特殊矩阵在专门学科中有用,如有名的希尔伯特(Hilbert)矩阵、范德蒙(Vandermonde) 矩阵等。 1.零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可 以用zeros函数实现。zeros是MATLAB内部函数,使用格式 如下: zeros(m):产生m m阶零矩阵; zeros(m,n):产生m n阶零矩阵,当m=n时等同于zeros(m); zeros(size(A)):产生与矩阵A同样大小的零矩阵。

2.幺矩阵:所有元素值为1的矩阵称为幺矩阵。幺矩阵可以用ones函数实现。它的调用格式与zeros函数一样。 一、 特殊矩阵的实现 2.幺矩阵:所有元素值为1的矩阵称为幺矩阵。幺矩阵可以用ones函数实现。它的调用格式与zeros函数一样。 【例1】 试用ones分别建立32阶幺矩阵、和与前例矩阵A同样大小的幺矩阵。 用ones(3,2) 建立一个3 2阶幺阵: ones(3,2) % 一个32阶幺阵 ans =1 1 1 1

3.单位矩阵:主对角线的元素值为1、其余元素值为0的 矩阵称为单位矩阵。它可以用MATLAB内部函数eye建立, 使用格式与zeros相同。 一、 特殊矩阵的实现 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)两种。

【例2】已知向量v,试建立以向量v作为主对角线的对角阵A;建立分别以向量v作为主对角线两侧的对角线的对角阵B和C。 一、 特殊矩阵的实现 6.用一个向量V构成一个对角阵 设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]; % 建立一个已知的向量A A=diag(v) A= 1 0 0 0 2 0 0 0 3 % 按各种对角线情况构成相应的对角阵A、B和C v =[1;2;3]; % 建立一个已知的向量A A=diag(v) A= 1 0 0 0 2 0 0 0 3 B=diag(v,1) B = 0 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 C=diag(v,-1) C = 0 0 0 0 1 0 0 0 0 2 0 0

一、 特殊矩阵的实现 7.从矩阵中提取某对角线 我们也可以用diag从矩阵中提取某对角线构成一个向量。设A为m  n阶矩阵,diag(A)将从矩阵A中提取其主对角线产生一个具有min(m,n)个元素的向量。diag(A,k)的功能是: 当k>0,则将从矩阵A中提取位于主对角线的上方第k条对角线构成一个具有n-k个元素的向量;当k<0,则将从矩阵A中提取位于主对角线的下方第|k|条对角线构成一个具有m+k个元素的向量;当k=0,则等同于diag(A)。

【例3】 已知矩阵A,试从矩阵A分别提取主对角线及它两侧的对角线构成向量B、C和D。 MATLAB程序如下: 一、 特殊矩阵的实现 【例3】 已知矩阵A,试从矩阵A分别提取主对角线及它两侧的对角线构成向量B、C和D。 MATLAB程序如下: A=[1 2 3;4 5 6]; % 建立一个已知的23阶矩阵A % 按各种对角线情况构成向量B、C和D B=diag(A) B = 1 5 C=diag(A,1) C = 2 6 D=diag(A,-1) D = 4

8.上三角阵:使用格式为triu(A)、triu(A,k) 一、 特殊矩阵的实现 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)的用法类似,当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=[1 2 3;4 5 6;7 8 9;9 8 7]; % 一个已知的43阶矩阵A % 构成各种情况的上三角阵B、C和D B=triu(A) B = 1 2 3 0 5 6 0 0 9 0 0 0 C=triu(A,1) D=triu(A,-1) 9.下三角阵:使用格式为tril(A)、tril(A,k) tril的功能是从矩阵A中提取下三角部分构成下三角阵。用法与triu相同。

10.空矩阵 A=[0.1 0.2 0.3;0.4 0.5 0.6]; B=find(A>1.0) B = [ ] B=[ ] 一、 特殊矩阵的实现 10.空矩阵 在MATLAB里,把行数、列数为零的矩阵定义为空矩阵。空矩阵在数学意义上讲是空的,但在MATLAB里确是很有用的。例如 A=[0.1 0.2 0.3;0.4 0.5 0.6]; B=find(A>1.0) B = [ ] 这里[ ]是空矩阵的符号,B=find(A>1.0)表示列出矩阵A中值大于1.0的元素的序号。当不能满足括号中的条件时,返回空矩阵。另外,也可以将空矩阵赋给一个变量,如: B=[ ]

二、矩阵的特征值 与特征向量

对于NN阶方阵A,所谓A的特征值问题是:求数λ和N维非零向量x(通常为复数),使之满足下式: 二、矩阵的特征值与特征向量 对于NN阶方阵A,所谓A的特征值问题是:求数λ和N维非零向量x(通常为复数),使之满足下式: A. x=λ 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; 二、矩阵的特征值与特征向量 (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满足AV=V D; (3) [V,D]=eig(A,’nobalance’):本格式的功能与格式(2)一样,只是格式(2)是先对A作相似变换(balance),然后再求其特征值与相应的特征向量;而本格式则事先不作相似变换;

(4) E=eig(A,B):由eig(A,B)返回NN阶方阵A和B的N个广义特征值,构成向量E。 二、矩阵的特征值与特征向量 (4) E=eig(A,B):由eig(A,B)返回NN阶方阵A和B的N个广义特征值,构成向量E。 (5) [V,D]=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N N阶对角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向量构成NN阶满秩矩阵,且 满足AV=B V D。

【例5】试用格式(1)求下列对称矩阵A的特征值;用格式(2)求A的特征值和相应的特征向量,且验证之。 二、矩阵的特征值与特征向量 【例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的三个实特征值:

而下列命令则将其三个实特征值作为向量赋予变量E: E=eig(A) E = -0.0166 二、矩阵的特征值与特征向量 eig(A) ans = -0.0166 1.4801 2.5365 而下列命令则将其三个实特征值作为向量赋予变量E: E=eig(A) E = -0.0166

三、行列式的值

【例6】利用随机函数产生一个三阶方阵A,然后计算方阵之行列式的值。 三、行列式的值 MATLAB提供的内部函数det用来计算矩阵的行列式的值。设矩阵A为一方阵(必须是方阵),求矩阵A的行列式值的格式为:det(A)。注意:本函数同样能计算通过构造出的稀疏矩阵的行列式的值。关于如何构造稀疏矩阵,将在本章最后一节介绍。 【例6】利用随机函数产生一个三阶方阵A,然后计算方阵之行列式的值。 A=rand(3) A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 det(A) ans = 0.4289

四、 矩阵求逆及其 线性代数方程组求解

则称A为B的逆矩阵,或称B为A的逆矩阵。这时A,B都称为可逆矩阵(或非奇异矩阵、或满秩矩阵),否则称为不可逆矩阵(或奇异矩阵、或降秩矩阵)。 四、矩阵求逆及其线性代数方程组求解 1 . 矩阵求逆 若方阵A,B满足等式 A*B = B*A = I (I为单位矩阵) 则称A为B的逆矩阵,或称B为A的逆矩阵。这时A,B都称为可逆矩阵(或非奇异矩阵、或满秩矩阵),否则称为不可逆矩阵(或奇异矩阵、或降秩矩阵)。

【例7】试用inv函数求方阵A的逆阵A-1赋值给B,且验证A与A-1是互逆的。 四、矩阵求逆及其线性代数方程组求解 【例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.2000 A*B ans = 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000 B*A ans = 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000

利用求系数矩阵A的逆阵A-1,我们可以得到矩阵求逆解法。对于线性代数方程组Ax=b,等号两侧各左乘A-1,有: 四、矩阵求逆及其线性代数方程组求解 2. 矩阵求逆解法 利用求系数矩阵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 -1 1;5 -4 3;2 1 1]; 四、矩阵求逆及其线性代数方程组求解 【例8】试用矩阵求逆解法求解例6.20中矩阵A为系数矩阵的线性代数方程组Ax=b的解。 A=[1 -1 1;5 -4 3;2 1 1]; b=[2;-3;1]; x=inv(A)*b x = -3.8000 1.4000 7.2000

对于线性代数方程组Ax=b,我们可以运用左除运算符“\”象解一元一次方程那样简单地求解: x=A\b 四、矩阵求逆及其线性代数方程组求解 3. 直接解法 对于线性代数方程组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=b2 四、矩阵求逆及其线性代数方程组求解 解法1:分别解方程组 (1)Ax=b1;(2)Ay=b2 A=[1 -1 1;5 -4 3;2 1 1]; b1=[2;-3;1]; b2=[3;4;-5]; x=A\b1 x = -3.8000 1.4000 7.2000 y=A\b2 -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=b 四、矩阵求逆及其线性代数方程组求解 解法2:将两个方程组连在一起求解:Az=b b=[2 3;-3 4;1 -5] z=A\b z = -3.8000 -3.6000 1.4000 -2.2000 7.2000 4.4000 很明显,这里的解z的两个列向量便是前面分别求得的两组解x和y

习题 1、解方程组Ax=b,分别用求逆解法与直接解法求其解。 2、编一个m程序,求N阶方阵A的行列式的值。