第五讲 线性代数中的数值计算问题
实验5_线性代数方程组的数值解法

实验5 线性代数方程组的数值解法化工系 毕啸天 2010011811【实验目的】1. 学会用MATLAB 软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;2. 通过实例学习用线性代数方程组解决简化的实际问题。
【实验内容】题目3已知方程组Ax=b ,其中A ,定义为⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--------------=32/14/12/132/14/14/12/132/14/14/12/132/14/12/13A试通过迭代法求解此方程组,认识迭代法收敛的含义以及迭代初值和方程组系数矩阵性质对收敛速度的影响。
实验要求:(1)选取不同的初始向量x (0)和不同的方程组右端项向量b ,给定迭代误差要求,用雅可比迭代法和高斯-赛德尔迭代法计算,观测得到的迭代向量序列是否均收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论;(2)取定右端向量b 和初始向量x (0),将A 的主对角线元素成倍增长若干次,非主对角线元素不变,每次用雅可比迭代法计算,要求迭代误差满足 ,比较收敛速度,分析现象并得出你的结论。
3.1 模型分析选取初始向量x(0) =(1,1,…,1)T ,b=(1,1,…,1)T ,迭代要求为误差满足 ,编写雅各比、高斯-赛德尔迭代法的函数,迭代求解。
3.2 程序代码function x = Jacobi( x0,A,b,m ) D=diag(diag(A)); U=-triu(A,1); L=-tril(A,-1); B1=D\(L+U); f1=D\b; x(:,1)=x0;x(:,2)=B1*x(:,1)+f1; k=1;while norm((x(:,k+1)-x(:,k)),inf)>m x(:,k+2)=B1*x(:,k+1)+f1; k=k+1; endendfunction x = Gauss( x0,A,b,m )D=diag(diag(A));U=-triu(A,1);L=-tril(A,-1);B2=(D-L)\U;f2=(D-L)\b;x(:,1)=x0;x(:,2)=B2*x(:,1)+f2;k=1;while norm((x(:,k+1)-x(:,k)),inf)>mx(:,k+2)=B2*x(:,k+1)+f2;k=k+1;endendA1=3.*eye(20,20);A2=sparse(1:19,2:20,-1/2,20,20);A3=sparse(1:18,3:20,-1/4,20,20);AA=A1+A2+A3+A2'+A3';A=full(AA);b=ones(20,1); %输入自选右端项向量b x0=ones(20,1); %输入自选初始向量x0 m=1e-5;x1=Jacob(x0,A,b,m);x2=Gauss(x0,A,b,m);结果输出数据:3.3.1将x0各分量初值置为0【分析】从数据中可以看出,当迭代的初值变化了,达到相同精度所需要的迭代次数也变化了。
数值计算方法试题及答案解析

数值计算方法试题一一、填空题(每空1分,共17分)1、如果用二分法求方程043=-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。
2、迭代格式)2(21-+=+k k k x x x α局部收敛的充分条件是α取值在( )。
3、已知⎪⎩⎪⎨⎧≤≤+-+-+-≤≤=31)1()1()1(2110)(233x c x b x a x x x x S 是三次样条函数,则a =( ),b =( ),c =( )。
4、)(,),(),(10x l x l x l n 是以整数点n x x x ,,,10 为节点的Lagrange 插值基函数,则∑==nk kx l)(( ),∑==nk k jk x lx 0)(( ),当2≥n 时=++∑=)()3(204x l x xk k nk k ( )。
5、设1326)(247+++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[10n x x x f和=∆07f 。
6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。
7、{}∞=0)(k kx ϕ是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x ϕ,则⎰=104)(dx x x ϕ 。
8、给定方程组⎩⎨⎧=+-=-221121b x ax b ax x ,a 为实数,当a 满足 ,且20<<ω时,SOR迭代法收敛。
9、解初值问题00(,)()y f x y y x y '=⎧⎨=⎩的改进欧拉法⎪⎩⎪⎨⎧++=+=++++)],(),([2),(]0[111]0[1n n n n n n n n n n y x f y x f h y y y x hf y y 是阶方法。
10、设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=11001a a a a A ,当∈a ( )时,必有分解式T LL A =,其中L 为下三角阵,当其对角线元素)3,2,1(=i l ii 满足( )条件时,这种分解是唯一的。
线性代数问题的计算机求解.ppt

现代设计与分析研究所 王雷
2021年2月17日2时43分
MATLAB语言与应用
1
主要内容
4.1特殊矩阵的输入 4.2矩阵基本分析 4.3矩阵方程的计算机求解 本章要点简介
2021年2月17日2时43分
MATLAB语言与应用
2
4.1 特殊矩阵的输入
数值矩阵的输入 符号矩阵的输入
MATLAB语言与应用
47
【例4-19】
2021年2月17日2时43分
MATLAB语言与应用
48
2021年2月17日2时43分
MATLAB语言与应用
49
2021年2月17日2时43分
MATLAB语言与应用
50
若rank(A)< rank(C):
2021年2月17日2时43分
MATLAB语言与应用
28
4.2.1.5 特征多项式
2021年2月17日2时43分
MATLAB语言与应用
29
【例4-12】
2021年2月17日2时43分
MATLAB语言与应用
30
【例4-13】
2021年2月17日2时43分
MATLAB语言与应用
31
4.2.2 逆矩阵与广义逆矩阵
4.2.2.1 矩阵的逆矩阵
2021年2月17日2时43分
MATLAB语言与应用
20
4.2.1.2 矩阵的迹
2021年2月17日2时43分
MATLAB语言与应用
21
4.2.1.3 矩阵的秩
2021年2月17日2时43分
MATLAB语言与应用
22
【例4-9】
2021年2月17日2时43分
线性代数中的数值计算

正则化方法
L1正则化
在目标函数中加入L1范数作为惩罚项,实现稀疏解的 选择。
L2正则化
在目标函数中加入L2范数作为惩罚项,防止过拟合现 象的发生。
弹性网正则化
结合L1和L2正则化的优点,同时实现稀疏解和防止过 拟合的目的。
05
非线性方程组的数值解法
牛顿法与拟牛顿法
牛顿法
通过迭代的方式求解非线性方程组的 根,每一步迭代都需要计算雅可比矩 阵(函数的一阶导数矩阵)和海森矩 阵(函数的二阶导数矩阵)。
有效数字与精度
有效数字表示一个数中可靠数字 的位数,精度则反映了计算结果 的准确性。在数值计算中,需要 关注有效数字的保留和精度的控 制。
误差传播
在复杂的数值计算中,误差可能 会逐步累积和传播,导致最终结 果的失真。因此,需要分析误差 传播规律,并采取相应的措施来 减小误差。
数值稳定性
01
算法稳定性
线性代数中的数值计算
• 数值计算基础 • 线性方程组求解 • 矩阵特征值与特征向量计算 • 线性最小二乘问题 • 非线性方程组的数值解法 • 数值计算中的优化问题
01
数值计算基础
误差与精度
绝对误差与相对误差
描述计算结果与真实值之间的差 异程度,其中绝对误差是计算值 与真实值之差的绝对值,相对误 差是绝对误差与真实值之比。
拟牛顿法
在牛顿法的基础上,通过近似计算海 森矩阵或其逆矩阵,从而减少计算量 ,提高求解效率。常见的拟牛顿法有 BFGS方法和DFP方法等。
梯度下降法与共轭梯度法
梯度下降法
沿着目标函数的负梯度方向进行迭代,逐步逼近函数的极小值点。该方法适用 于连续可微的凸函数优化问题。
共轭梯度法
结合梯度下降法和共轭方向法的思想,利用历史梯度信息构造共轭方向,从而 加速收敛速度。共轭梯度法适用于大规模非线性优化问题。
线性代数问题求解课件

通过具体例题,解析特征值和特征向量的计算方法,以及特征值和特征向量在矩阵分析 中的应用。
详细描述
本部分将通过具体的特征值和特征向量例题,展示如何计算特征值和特征向量。首先介 绍特征值和特征向量的定义和计算方法,然后通过例题演示如何求解特征值和特征向量。
此外,还将讨论特征值和特征向量在矩阵分析中的应用,如判断矩阵的稳定性、矩阵相 似性等。
特征值与特征向量的性质
特征值和特征向量具有一些重要的性质,如特征值和特征向量的定义性质、特征 值的性质等。
线性变换与矩阵
线性变换的定义
线性变换是向量空间中的 一种保持向量加法和数乘 不变的变换。
矩阵表示线性变换
对于一个给定的线性变换, 可以用矩阵表示其作用方式。
线性变换的性质
线性变换具有一些重要的 性质,如线性变换的加法 性质、数乘性质等。
行列式的性质
包括代数余子式、转置行列式、 行列式的乘法规则等。
行列式的计算方法
包括展开法、递推法、三角分解 法等。
矩阵的特征值与特征向量
特征值与特征向量的定义
矩阵的特征值是满足Ax=λx的标量,特征向量是满足该等式的非 零向量。
特征多项式
用于求解特征值和特征向量的多项式。
特征值和特征向量的性质
包括线性变换、相似矩阵等。
线性变换与矩阵的实例解析
要点一
总结词
要点二
详细描述
通过具体例题,解析线性变换与矩阵之间的关系,以及线 性变换在几何中的应用。
本部分将通过具体的线性变换与矩阵例题,解析线性变换 与矩阵之间的关系。首先介绍线性变换的基本概念和性质, 然后通过例题演示如何通过矩阵表示线性变换。此外,还 将讨论线性变换在几何中的应用,如平面上的线性变换、 空间中的线性变换等。通过具体例题,展示如何运用线性 代数知识解决实际问题,并解释每一步的原理和计算过程。
线性代数的基本运算

111第5章 线性代数的基本运算本章学习的主要目的:1 复习线性代数中有关行列式、矩阵、矩阵初等变换、向量的线性相关性、线性方程组的求解、相似矩阵及二次型的相关知识.2学会用MatLab 软件进行行列式的计算、矩阵的基本运算、矩阵初等变换、向量的线性相关性的判别、线性方程组的求解、二次型化标准形的运算.5.1 行列式5.1.1 n 阶行列式定义由2n 个元素),,2,1,(n j i a ij 组成的记号D=nnn n n n a a a a a a a a a212222111211称为n 阶行列式.其值是所有取自不同行不同列的n 个元素的乘积n np 2p 21p 1a a a 的代数和,各项的符号由n 级排列n p p p 21决定,即112 D=np p p n p p p 21nnp 2p 21p 1)21(a a a)1( ,其中np p p 21表示对所有n 级排列求和,),,,(21n p p p 是排列n p p p 21的逆序数.5.1.2 行列式的性质(1) 行列式与它的转置行列式相等. (2) 互换行列式的两行(列),行列式变号.(3) 若行列式有两行(列)完全相同,则此行列式为零. (4) 行列式的某一行(列)中所有的元素都乘以同一数k,等于用数k 乘此行列式.(5) 若行列式有两行(列)元素成比例,则此行列式为零. (6) 若行列式的某一列(行)的元素是两数的和,则此行列式等于对应两个行列式之和.即nn nn ni n n i i nn nn ni n n i i nn nn ni ni n n i i i i a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a21'21'22221'112112121222211121121'21'222221'111211(7) 若行列式的某一行(列)的各元素乘以同一数加到另一行(列)对应的元素上去,行列式不变.113(8) 行列式等于它的任一行(列)的各元素与其对应的代数余子式乘积之和,即),,2,1(,0,1j k n i k i ki D A a D nj ij,或),,2,1(,0,1i n j k j kj D A a D nik ij(9) 设A,B 是n 阶方阵,则TA A ,A A n k k ,BA AB ,(10)若A 是n 阶可逆矩阵,则0 A ,AA 11(11) 设n 21,,, 是n 阶方阵A 的特征值,则i nA 1i ,(12) 设*A 是n 阶方阵A 的伴随矩阵,则2n *1n AA(13) 几种特殊行列式的计算:nn nna a a a a a22112211000000 ,nn nnnna a a a a a a a a221122********* nn nnn n a a a a a a a a a221121222111000 ,112n 12)1(1222111211)1(00n n n n n n a a a a a a a a a5.1.3 MatLab 计算行列式的命令 det(var) %计算方阵var 的行列式114 例1 计算行列式3833262290432231的值在MatLab 命令窗口输入:A=[1,-3,2,2;-3,4,0,9;2,-2,6,2;3,-3,8,3] det(A) 执行结果:A = 1 -3 2 2 -3 4 0 9 2 -2 6 2 3 -3 8 3 ans = -50例2 计算行列式dcb 10110011001a的值,其中a,b,c,d 是参数.在MatLab 命令窗口输入: syms a b c dA=[a,1,0,0;-1,b,1,0;0,-1,c,1;0,0,-1,d] det(A) 执行结果:115A =[ a, 1, 0, 0][ -1, b, 1, 0] [ 0, -1, c, 1] [ 0, 0, -1, d]ans =a*b*c*d+a*b+a*d+c*d+1例3 求方程0881441221111132 x x x的根.(1) 先求行列式的值 在MatLab 命令窗口输入: syms xA=[1,1,1,1;1,-2,2,x;1,4,4,x*x;1,-8,8,x^3] y=det(A) 执行结果: A =[ 1, 1, 1, 1] [ 1, -2, 2, x] [ 1, 4, 4, x^2] [ 1, -8, 8, x^3]y =-12*x^3+48*x+12*x^2-48(2) 求3次方程的根.首先通过函数的图形确定根的大致范围,在MatLab命令窗口输入:grid onezplot(y)图 1 观察图1,可知3个根大致在-2,0,4附近,下面求精确值, 在MatLab命令窗口输入:yf=char(y);g1=fzero(yf,-2)116117g2=fzero(yf,0) g3=fzero(yf,4) 执行结果: g1 = -2 g2 = 1.0000 g3 = 2.0000可知方程的3个根分别为-2,1,2. 5.1.4用MatLab 实现克拉默法则 (1)克拉默法则非齐次线性方程组方程组nn nn n n n n n n b x a x a x a b x a x a x a b x a x a x a 22112222212111212111当其系数行列式0212222111211 nnn n nn a a a a a a a a a D时,此方程组有唯一解, 且可表示为DD x DD x DD x n n ,,,2211其中),,2,1(n j D J 是把系数行列式D 中第j 列的元素用方程组118 右端的常数项代替后所得到的n 阶行列式,即nnj n n j n n n j j j a a b a a a a b a a D1,1,111,111,111对于齐次线性方程组00221122221211212111nnn n n n n n n x a x a x a x a x a x a x a x a x a 当其系数行列式0212222111211 nnn n nn a a a a a a a a a D时,此方程组有唯一零解;当D=0时,方程组有非零解. (2) 编写函数klm.m 实现用克拉默法则求解非齐次线性方程组.function x=klm(a,b) %参数a 代表方程组的系数矩阵,列矩阵b 代表方程组的常数列,%返回方程组的解[m,n]=size(a); if (m~=n)disp('克拉默法则不适用此方程组的求解!')119else d=det(a); if (d==0)disp('该方程组没有唯一解!') elsedisp('该方程组有唯一解!') for i=1:m e=a; e(:,i)=b; f=det(e); x(i)=f/d; end end end例4 用克拉默法则解下列方程组:12341234123412345242235232110x x x x x x x x x x x x x x x x操作步骤:120 在MatLab 命令窗口输入:D=[1,1,1,1;1,2,-1,4;2,-3,-1,-5;3,1,2,11]; A=[5;-2;-2;0]; klm(D,A) 执行结果:该方程组有唯一解!ans = 1 2 3 -1 方程组的解为1,3,2,1x 4321 x x x 例5 问a 取何值时,齐次方程组)4(20)6(2022)5(3121321x a x x a x x x x a 有非零解? 根据齐次方程组有非零解,系数行列式为零,用MatLab 操作步骤如下:在MatLabsyms xyy=det(A) ezplot(yy,[0,10])图2grid on执行结果:行列式的值为:yy = 80-66*x+15*x^2-x^3作函数yy的图形,如图2观察图2,可知根大致在2,5,8附近,再输入命令:yf=char(yy);x1=fzero(yf,2)x2=fzero(yf,5)x3=fzero(yf,8)执行结果:x1 = 2x2 = 5x3 = 8即a取2,5,或8时,齐次方程组有非零解。
线性代数5

所以 2 x , y
即
2
4 x , x y , y 0
(5.1)
x , y
2
x , x y , y
上式被称为许瓦兹(Schwarz)不等式.
西安建大
二.正交向量组与正交化方法
1.正交向量组
1.正交向量组
当 x
y 0 时,定义向量
cos
2.施密特正交化方法
西安建大
三.正交矩阵与正交变化
1. 正交矩阵 定义5.2 定理5.3
1.正交矩阵
2.正交变换
如果 n阶方阵 A 满足 AT A 则称 A 为正交矩阵.
I
如果 A , B均为 n阶正交矩阵,
T
1
那么:⑴ A1 AT ⑵ A 即 A 为正交矩阵
1 A A ⑶ 2 A A 为 2n 阶正交矩阵
量两两正交,从而这 n 个向量就构成了向量空 间 R n的一组正交基.
西安建大
例5.1
T 已知 R 3的一个向量 1 1 ,1 ,1, 求 R 3的一组正交基. T T 解:求 2 x21 , x22 , x23 ,使 1 2 0
即: x21 x22 x23 0
bi ( i 1 ,2 , , r ) 再取 i bi
显然 1 , 2 , , r为正交规范化的向量组, 且与 1 , 2 , , r 等价.
西安建大
T T T 例5.2:已知 1 1 ,1 ,1 , 2 1, 2 ,1 , 3 1 ,1 ,2
西安建大
定义5.1
设n 维向量 1 , 2 , , r是向量空间 V ( V R n )的一组正交基,如果它们均为单位向 量,则称 1 , 2 , , r 为V 的一组正交规范基 或标准正交基.
Mathematica线性代数运算命令与例题

6.生成对角矩阵 命令形式:DiagonalMatrix[list] 功能:使用列表中的元素生成一个对角矩阵.
7.生成单位矩阵 命令形式:IdentityMatrix[n] 功能:生成 n 阶单位阵
例题
例 3. 构造 4 3 的 0 矩阵。
解: Mathematica 命令 In[5]:=Table[0,{4},{3}] Out[5]:= {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}} In[6]:= MatrixForm[%] Out[6]:= 000 000 000 000
5.1.2 几个特殊矩阵的输入
1. 生成 0 矩阵 命令形式: Table[0,{m},{n}]
功能:产生一个 m n 的 0 矩阵
2. 生成随机数矩阵 命令形式: Table[Random[ ],{m},{n}]
功能: 产生一个 m n 的随机数矩阵
3.生成上三角矩阵
71
命令形式: Table[If[i<=j,a,0],{i,m},{j,n}] 功能: 产生一个非 0 元全为数 a 的上三角矩阵
5.2.2. 方阵的运算 求行列式
命令形式:Det[A] 功能:计算方阵 A 的行列式
求方阵的幂
命令形式:MatrixPower[A,n] 功能:计算方阵 A 的 n 次幂。
求矩阵的 k 阶子式
命令形式:Minors[A,k] 功能:求出矩阵 A 的所有可能的 k 阶子式的值。
例题:
例
19.
A
1 3 1 0
1 例 15:求矩阵 2
3 1
0 1
与
0 2
1 4