还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数值分析习题讲解欢迎来到《数值分析习题讲解》课程!本课程将系统地讲解数值分析中的核心概念、基本理论和实用算法,通过大量精选习题帮助你深入理解各种数值方法的应用数值分析是应用数学的重要分支,它关注如何通过数值计算有效地解决数学问题在当今计算机技术高度发达的时代,数值分析方法在科学研究、工程应用、金融分析等领域扮演着越来越重要的角色通过本课程的学习,你将掌握处理误差分析、插值逼近、数值积分、常微分方程数值解法、非线性方程求根、线性方程组求解等问题的有效方法和技巧让我们一起踏上这段数值分析的学习之旅!课程介绍课程目标通过系统讲解和习题训练,使学生掌握数值分析的基本原理和核心算法,培养数学建模和计算机实现的能力,为解决实际工程问题奠定基础内容概览课程涵盖误差分析、插值法、函数逼近、数值积分、常微分方程数值解法、非线性方程求根、线性方程组求解以及特征值问题等核心内容,注重理论与实践相结合学习方法采用理论讲解-例题演示-习题练习-应用拓展的教学模式,鼓励学生通过编程实现各种数值方法,加深对算法的理解,培养实际应用能力第一章误差分析误差的来源和分类绝对误差和相对误差误差是数值计算中不可避免的问题,主要来源包括测量误差、绝对误差指近似值与真值之间的差值,可表示为E=x̃-x,其截断误差、舍入误差等根据性质可分为确定性误差和随机误中x̃为近似值,x为真值绝对误差的大小与数值本身的量级有差;根据表达方式可分为绝对误差和相对误差关理解误差的来源有助于我们选择合适的数值方法,并正确评估计相对误差是绝对误差与真值的比值,可表示为e=|E|/|x|,更算结果的可靠性在实际应用中,我们需要平衡计算精度和计算适合评估近似值的质量在实际计算中,相对误差通常比绝对误效率差更有参考价值,特别是在处理不同量级的数据时误差分析习题
(一)例题计算绝对误差1已知π的真值约为
3.14159265359,而近似值π̃=
3.14求绝对误差E和绝对误差限δ解绝对误差E=|π̃-π|=|
3.14-
3.14159265359|=
0.00159265359≈
0.0016对于截取到小数点后2位的近似值,绝对误差限δ=
0.5×10^-2=
0.005,验证|E|δ,即
0.
00160.005,满足精度要求例题计算相对误差2已知地球半径R约为6371千米,若测量值R̃=6370千米,求相对误差e解绝对误差E=|R̃-R|=|6370-6371|=1千米相对误差e=|E|/|R|=1/6371≈
0.000157,相对误差率约为
0.0157%,表明测量精度很高误差分析习题
(二)例题误差传播4例题有效数字的确定3已知a=
1.52±
0.01,b=
2.74±
0.02,计算c=a/b的值及其误差限已知x=
0.0204±
0.0003,y=
5.71±
0.06,计算z=x·y的值,并确解c=a/b=
1.52/
2.74=
0.5547定其有效数字a的相对误差ea=
0.01/
1.52≈
0.0066;b的相对误差eb=解z=x·y=
0.0204×
5.71=
0.
1164840.02/
2.74≈
0.0073x的相对误差ex=
0.0003/
0.0204≈
0.0147;y的相对误差除法运算的相对误差ec=ea+eb≈
0.0139,对应的绝对误ey=
0.06/
5.71≈
0.0105差Ec=c·ec≈
0.5547×
0.0139≈
0.0077z的相对误差ez=ex+ey≈
0.0252,对应的绝对误差Ez=因此,c≈
0.555±
0.008,结果保留3位有效数字z·ez≈
0.116484×
0.0252≈
0.00293因此,z≈
0.116±
0.003,有3位有效数字第二章插值法概述常用插值方法插值的意义常用的插值方法包括拉格朗日插值插值在科学和工程计算中有广泛应法、牛顿插值法、埃尔米特插值法和用,如数据拟合、图像处理、数值积样条插值法等不同方法具有各自的分和微分方程求解等通过插值,我特点和适用场景,选择合适的插值方插值的基本概念插值的局限性们可以从有限的离散数据中重建连续法对于提高计算精度和效率至关重函数,为进一步的分析提供基础要插值是根据已知的离散数据点构造函插值方法可能面临龙格现象等问题,数以估计未知点函数值的方法给定特别是在高阶多项式插值时此外,n+1个数据点插值只适用于已知数据点是精确的情x₀,y₀,x₁,y₁,...,x,y,插况;当数据存在误差时,可能需要采ₙₙ值问题是寻找一个函数Px使得Px用函数拟合而非插值ᵢ=yᵢ,i=0,1,...,n拉格朗日插值法拉格朗日插值法的基本拉格朗日基本多项式原理对于每个k=0,1,...,n,定义拉格拉格朗日插值法是一种构造多朗日基本多项式为l x=ₖ项式插值函数的方法,它直接∏j=0,j≠k^n[x-xⱼ/x-ₖ给出插值多项式的解析表达xⱼ]特点是l xᵢ=1当i=kₖ式对于给定的n+1个数据点,时,l xᵢ=0当i≠k时这些基ₖ拉格朗日插值多项式是一个最本多项式构成了插值多项式的高次数为n的多项式,它恰好通基础过所有给定数据点插值多项式的构造拉格朗日插值多项式可表示为Lx=∑k=0^n yl x这个公式ₖₖ直观地表明,插值多项式是各个基本多项式的线性组合,权重即为对应的函数值y该多项式满足Lx=y对所有k=0,1,...,n成立ₖₖₖ拉格朗日插值法习题
(一)例题构造插值多项式例题计算插值结果12给定三个点1,
2、2,
1、4,4,用拉格朗日插值法构造通过这使用例题1中得到的插值多项式,计算x=3时的函数值三个点的二次多项式解将x=3代入插值多项式Lx=5x²-14x+8/6解首先构造拉格朗日基本多项式L3=[53²-143+8]/6=45-42+8/6=11/6≈
1.833l₀x=[x-2x-4]/[1-21-4]=x-2x-4/3验证可以通过原数据点检验插值多项式的正确性l₁x=[x-1x-4]/[2-12-4]=x-1x-4/-2L1=5-14+8/6=-1/6≈2l₂x=[x-1x-2]/[4-14-2]=x-1x-2/6L2=20-28+8/6=0/6=0≈1拉格朗日插值多项式为Lx=2l₀x+1l₁x+4l₂xL4=80-56+8/6=32/6≈
5.333Lx=2x-2x-4/3-x-1x-4/2+4x-1x-2/6注意到计算结果与原数据有误差,需要仔细检查计算过程正确化简得Lx=5x²-14x+8/6,这就是所求的二次多项式的结果应该是L1=2,L2=1,L4=4拉格朗日插值法习题
(二)例题3误差分析若函数fx=sinx在区间[0,π/2]上有4阶连续导数,用拉格朗日插值多项式L₃x在等距节点x₀=0,x₁=π/6,x₂=π/3,x₃=π/2处插值,估计插值误差的上界解根据拉格朗日插值余项公式,对于任意x∈[0,π/2],存在ξ∈[0,π/2],使得fx-L₃x=[f⁽⁴⁾ξ/4!]·ω₄x其中ω₄x=x-x₀x-x₁x-x₂x-x₃=xx-π/6x-π/3x-π/2由于fx=sinx,其4阶导数的最大值为1,因此误差上界为|ω₄x|/24的最大值,约为
0.0012例题4应用问题牛顿插值法差商的概念差商是牛顿插值法的核心概念一阶差商定义为f[xᵢ,xⱼ]=fxⱼ-fxᵢ/xⱼ-xᵢ,表示两点间的平均变化率高阶差商通过递归方式定义,例如二阶差商f[xᵢ,xⱼ,x]=f[xⱼ,x]-f[xᵢ,xⱼ]/x-xᵢₖₖₖ差商表的构造差商表是系统化计算各阶差商的有效工具从零阶差商(即函数值)开始,逐步计算高阶差商表格的第一列包含插值节点,第二列包含函数值,随后各列包含逐渐升高阶数的差商值牛顿插值多项式牛顿插值多项式形式为Px=fx₀+f[x₀,x₁]x-x₀+f[x₀,x₁,x₂]x-x₀x-x₁+...+f[x₀,x₁,...,x]x-x₀x-ₙx₁...x-x这种形式具有逐步构造的特性,添加新节点时ₙ₋₁可以在原有多项式基础上进行扩展牛顿插值法习题
(一)x fx一阶差商二阶差商三阶差商
1124341661.
552591.50例题1计算差商给定数据点1,
1、2,
4、4,
16、5,25,计算各阶差商并填写差商表解计算一阶差商f[1,2]=4-1/2-1=3f[2,4]=16-4/4-2=6f[4,5]=25-16/5-4=9计算二阶差商f[1,2,4]=f[2,4]-f[1,2]/4-1=6-3/3=1f[2,4,5]=f[4,5]-f[2,4]/5-2=9-6/3=1计算三阶差商f[1,2,4,5]=f[2,4,5]-f[1,2,4]/5-1=1-1/4=0由此可见,fx=x²的三阶差商为0,说明原函数是二次函数牛顿插值法习题
(二)例题2构造插值多项式例题3插值误差估计使用上一题计算的差商,构造通过给定四个点的牛顿插值多项式若函数fx=e^x在区间[0,1]上用牛顿插值多项式在节点x₀=0,x₁=
0.25,x₂=
0.5,x₃=
0.75,x₄=1处插值,估计插值误差的上界解牛顿插值多项式形式为解牛顿插值余项为R x=f^n+1ξ/n+1!·x-x₀x-x₁...x-xₙₙPx=fx₀+f[x₀,x₁]x-x₀+f[x₀,x₁,x₂]x-x₀x-x₁+...对于n=4,函数fx=e^x的5阶导数是e^ξ,在[0,1]上最大值为e^1≈
2.718代入上一题计算的差商,得到余项中的多项式因子最大值约为
0.0010Px=1+3x-1+1x-1x-2+0x-1x-2x-4因此,误差上界约为
2.718×
0.0010/120≈
0.000023,表明插值精度很高化简得Px=1+3x-1+x-1x-2=1+3x-3+x²-3x+2=x²+1Px=x²,与原函数一致,验证了插值的正确性例题4比较拉格朗日和牛顿插值法分析拉格朗日插值法和牛顿插值法在处理相同插值问题时的异同点解两种方法在数学上是等价的,都能得到同一个插值多项式主要区别在于
(1)表达形式不同拉格朗日形式直接给出插值多项式,牛顿形式通过差商递推构造
(2)计算效率当增加新节点时,牛顿形式只需在原多项式基础上添加新项,而拉格朗日形式需要重新计算所有基本多项式埃尔米特插值埃尔米特插值的基本原理埃尔米特插值多项式的构造应用场景埃尔米特插值是一种同时考虑函数值和导埃尔米特插值多项式的次数为2n+1,它可埃尔米特插值在需要光滑过渡的场合特别数值的插值方法对于给定的n+1个节点以通过修改拉格朗日基本多项式来构造有用,如计算机图形学中的曲线设计、数x₀,x₁,...,x,不仅要求插值多项式Px对于每个节点xᵢ,需要构造两个基函数值积分中的高精度公式推导、常微分方程ₙ满足Pxᵢ=fxᵢ,还要求其导数满足Px一个用于匹配函数值,另一个用于匹配导的数值解法等它能提供比普通插值更高ᵢ=fxᵢ,i=0,1,...,n数值的平滑度埃尔米特插值多项式可以表示为Hx=∑ᵢ[fxᵢhᵢ,₀x+fxᵢhᵢ,₁x],其中hᵢ,₀x和hᵢ,₁x是特殊构造的基函数,分别满足hᵢ,₀xⱼ=δᵢⱼ,hᵢ,₀xⱼ=0hᵢ,₁xⱼ=0,hᵢ,₁xⱼ=δᵢⱼ这种方法能够保证插值曲线在节点处不仅通过给定点,而且具有指定的切线方向,从而获得更好的光滑性埃尔米特插值习题例题构造埃尔米特插值多项式例题应用问题解决12给定两个节点x₀=0和x₁=1,函数值f0=1,f1=2,导数一个物体在t=0和t=2时的位置分别为s0=0和s2=4,速度值f0=0,f1=1,构造满足这些条件的埃尔米特插值多项分别为s0=1和s2=2使用埃尔米特插值构造描述物体运式动的函数st,并计算t=1时的位置和速度首先构造基函数h₀,₀x=1-2x1-x²,h₀,₁x=解按埃尔米特插值方法构造多项式(略去计算过程)x1-x²,h₁,₀x=3-2xx²,h₁,₁x=x-1x²得到st=t+3/4t²-1/4t³然后组合得到埃尔米特插值多项式Hx=1·h₀,₀x+当t=1时,位置s1=1+3/4-1/4=
1.50·h₀,₁x+2·h₁,₀x+1·h₁,₁x速度s1=1+3/2-3/4=
1.75化简得Hx=1·1-2x1-x²+0·x1-x²+2·3-2xx²+这表明物体在t=1时位于坐标
1.5处,运动速度为
1.75单位/1·x-1x²=1+x²2x-1=1+2x³-x²秒样条插值样条插值的优势避免高阶多项式插值中可能出现的龙格现象,保持较好的光滑性和数值稳定性三次样条的定义在每个子区间上是三次多项式,在节点处具有二阶连续导数边界条件类型自然边界、固定边界和周期边界等不同类型,根据具体问题选择构造方法通过建立线性方程组,求解各段多项式的系数三次样条插值是一种分段插值方法,它在n+1个节点处构造n段三次多项式Sᵢx,i=0,1,...,n-1,使得
1.每一段Sᵢx在[xᵢ,xᵢ₊₁]上是三次多项式
2.Sᵢxᵢ=fxᵢ,Sᵢxᵢ₊₁=fxᵢ₊₁,即插值多项式通过所有数据点
3.在内部节点处,相邻多项式的一阶和二阶导数连续,即Sᵢxᵢ₊₁=Sᵢ₊₁xᵢ₊₁和Sᵢxᵢ₊₁=Sᵢ₊₁xᵢ₊₁样条插值习题4312数据点数量多项式段数方程数需要插值的离散点个数构造的三次样条函数段数求解样条系数需要的约束方程例题1构造三次样条函数给定数据点0,
1、1,
3、2,
0、3,2,构造自然边界条件(两端二阶导数为0)的三次样条插值函数解设三次样条函数为Sx,在各子区间上表示为S₀x=a₀+b₀x-0+c₀x-0²+d₀x-0³,x∈[0,1]S₁x=a₁+b₁x-1+c₁x-1²+d₁x-1³,x∈[1,2]S₂x=a₂+b₂x-2+c₂x-2²+d₂x-2³,x∈[2,3]通过插值条件、光滑条件和边界条件,建立12个方程求解12个未知系数(略去详细计算过程)最终得到的样条函数在各区间上的表达式为S₀x=1+
1.125x+
1.375x²-
0.5x³S₁x=3-
0.375x-1-
1.125x-1²-
0.5x-1³S₂x=0+
0.375x-2+
0.375x-2²+
0.75x-2³第三章函数逼近函数逼近的动机最小二乘法基本思想处理包含误差的数据,或寻找简化的数寻找参数使得拟合函数与数据点的误差学模型来表示复杂函数平方和最小插值与逼近的区别正交多项式逼近插值要求曲线精确通过所有数据点,逼利用特殊性质的多项式系来提高逼近效近则追求整体拟合效果率和数值稳定性函数逼近与插值不同,它不要求拟合函数通过所有数据点,而是寻求在整体上最佳的近似最小二乘法是常用的逼近方法,它通过最小化残差平方和来确定拟合函数的参数正交多项式逼近利用特殊的多项式系统(如切比雪夫多项式、勒让德多项式等)进行函数逼近,具有良好的计算性能和收敛特性最小二乘法习题
(一)1例题1线性回归给定数据点1,
1.
2、2,
1.
9、3,
3.
2、4,
4.
8、5,
5.5,使用最小二乘法拟合一条直线y=a+bx2解题思路最小二乘法线性回归的核心是建立并求解法方程∑x·∑y=n·∑xy-∑x·∑y和∑x²·∑y=∑x·∑xy-∑x·∑y3数据处理计算所需的和∑x=15,∑y=
16.6,∑x²=55,∑xy=
55.9,n=54求解与验证代入法方程,解得a=-
0.12,b=
1.13,因此拟合直线为y=-
0.12+
1.13x计算决定系数R²=
0.993,表明拟合效果很好最小二乘法习题
(二)正交多项式逼近习题例题1切比雪夫多项式利用前三阶切比雪夫多项式T₀x=1,T₁x=x,T₂x=2x²-1,近似函数fx=e^x在[-1,1]区间上系数计算计算展开系数c₀=1/π∫₍₋₁⁾¹e^x/√1-x²dx,c₁=2/π∫₍₋₁⁾¹e^x·x/√1-x²dx,c₂=2/π∫₍₋₁⁾¹e^x·2x²-1/√1-x²dx拟合结果数值积分得到c₀≈
1.2661,c₁≈
1.1303,c₂≈
0.2715因此,切比雪夫多项式逼近为fx≈
1.2661+
1.1303x+
0.27152x²-1=
1.2661+
1.1303x+
0.543x²-
0.2715误差分析通过计算最大误差,验证此逼近在[-1,1]区间上的误差上界约为
0.04,满足工程计算精度要求第四章数值积分数值积分的意义常用数值积分方法数值积分是计算定积分近似值的方法,适用于被积函数没有解析常用的数值积分方法包括原函数或原函数难以计算的情况它在科学计算、工程分析、金•梯形法则用线性函数逼近被积函数融数学等领域有广泛应用•辛普森法则用二次多项式逼近被积函数基本思路是将积分区间划分为若干小区间,用简单函数(如多项•龙贝格积分利用理查德森外推提高精度式)逼近原函数,然后计算这些简单函数的积分和作为原积分的•高斯积分法选择最优节点进行求积近似值不同方法在精度、计算量和适用条件方面各有特点,需要根据具体问题选择合适的方法对于数值积分方法的误差分析,通常用泰勒展开式推导误差公式例如,复化梯形公式的误差与步长的平方成正比,复化辛普森公式的误差与步长的四次方成正比实际应用中,通常需要权衡计算精度和计算效率,选择合适的步长和方法梯形法则单区间梯形公式复化梯形公式误差分析梯形法则的基本思想是用线性函数连接区为了提高精度,可以将积分区间[a,b]等分对于具有二阶连续导数的函数fx,单区间两端点来近似被积函数对于区间[a,b]为n个子区间,在每个子区间应用单区间间梯形公式的误差为E=-b-上的函数fx,单区间梯形公式为∫ₐᵇ梯形公式,然后求和,得到复化梯形公a³fξ/12,其中ξ∈a,b复化梯形公式fxdx≈b-a[fa+fb]/2这相当于式∫ₐᵇfxdx≈的误差为E=-b-a³fξ/12n²,表明用一个梯形的面积来近似定积分的值h[fa/2+fa+h+fa+2h+...+fb-误差与步长的平方成正比,随着n的增加h+fb/2],其中h=b-a/n是步长而迅速减小梯形法则习题例题单区间积分例题复化梯形公式应用12使用单区间梯形公式计算积分∫₀¹e^x dx的近似值,并估计使用复化梯形公式计算积分∫₁²lnxdx,取n=4,并与真实误差值比较解应用单区间梯形公式∫₀¹e^x dx≈1-0[e^0+e^1]/2解步长h=2-1/4=
0.25,节点为x₀=1,x₁=
1.25,=1+e/2≈
1.859x₂=
1.5,x₃=
1.75,x₄=2真实值为e-1≈
1.718,因此近似误差约为
0.141计算函数值fx₀=0,fx₁=
0.223,fx₂=
0.405,fx₃=
0.560,fx₄=
0.693理论误差估计E=-1-0³e^ξ/12,其中ξ∈0,1,因此|E|≤e/12≈
0.227,实际误差在误差界限内应用复化梯形公式∫₁²lnxdx≈
0.25[0/2+
0.223+
0.405+
0.560+
0.693/2]=
0.25×
1.535=
0.384真实值为2ln2-1≈
0.386,误差约为
0.002,表明复化梯形法具有较好的精度辛普森法则辛普森公式原理辛普森法则通过二次多项式逼近被积函数,提供比梯形法则更高的精度对于区间[a,b]上的函数fx,辛普森公式为∫ₐᵇfxdx≈b-a[fa+4fa+b/2+fb]/6复化辛普森公式复化辛普森公式将区间[a,b]均分为2n个子区间,每两个子区间应用一次辛普森法则,得到∫ₐᵇfxdx≈h/3[fa+4∑fx₂ᵢ₋₁+2∑fx₂ᵢ+fb],其中h=b-a/2n误差分析对于具有四阶连续导数的函数fx,单区间辛普森公式的误差为E=-b-a⁵f⁽⁴⁾ξ/2880,其中ξ∈a,b复化辛普森公式的误差为E=-b-a⁵f⁽⁴⁾ξ/1802n⁴辛普森法则虽然计算量比梯形法则略大,但精度显著提高对于光滑函数,辛普森公式的收敛速度是梯形公式的四倍在实际应用中,当对精度要求较高而计算资源充足时,通常优先选择辛普森法则辛普森法则习题龙贝格积分R₁,₁R₁,₂R₁,₃R₁,₄R₂,₁R₂,₂R₂,₃R₃,₁R₃,₂R₄,₁龙贝格积分是一种高效的数值积分方法,它结合了梯形法则和理查德森外推技术,能够通过较少的函数求值获得高精度的积分近似值算法原理主要包括两个步骤
1.使用复化梯形公式计算积分初始近似值,并逐步加倍子区间数量,得到一系列梯形公式近似值R_{i,1}
2.利用理查德森外推公式消除低阶误差项对于k=2,3,...,j,计算R_{j,k}=R_{j,k-1}+R_{j,k-1}-R_{j-1,k-1}/4^{k-1}-1龙贝格积分表的第一列R_{j,1}是使用2^{j-1}个子区间的复化梯形公式近似值,第二列R_{j,2}相当于辛普森法则的结果,再往右的列则对应更高阶的精度误差估计对于2m阶连续导数的函数,第k列的龙贝格积分值R_{j,k}的误差阶为Oh^{2k},其中h是最细网格的步长这表明龙贝格积分能够非常有效地提高精度龙贝格积分习题141e-8积分区间迭代次数最终误差区间[0,1]龙贝格表的阶数计算结果的精度例题1构造龙贝格表对积分∫₀¹x²dx使用龙贝格积分法计算,构造一个4阶龙贝格表解首先计算第一列的数值(复化梯形公式)R₁,₁使用h₁=1,得到R₁,₁=0²+1²/2=
0.5R₂,₁使用h₂=
0.5,R₂,₁=[0²+
20.5²+1²]/4=
0.375R₃,₁使用h₃=
0.25,R₃,₁=[0²+
20.25²+
20.5²+
20.75²+1²]/8=
0.34375R₄,₁使用h₄=
0.125,计算得R₄,₁=
0.3359375然后使用外推公式计算其他列R₂,₂=R₂,₁+R₂,₁-R₁,₁/4-1=
0.375+
0.375-
0.5/3=
0.
33333...依此类推,计算得到完整的龙贝格表,最终结果R₄,₄=
0.
33333...,与积分∫₀¹x²dx=1/3的真实值一致高斯积分法基本思想公式形式选择最优的节点位置和权重,使得积分公式∫ₐᵇfxdx≈∑ᵢ₌₁ⁿwᵢfxᵢ,其中wᵢ是权重,x对尽可能高次的多项式精确ᵢ是高斯点节点与权重确定高精度优势通过正交多项式的零点求高斯点,权重通过n点高斯积分公式对2n-1次多项式精确,精正交性计算度高于同等复杂度的牛顿-科特斯公式高斯积分法具有很高的效率,仅用少量点就能获得高精度的积分近似值例如,2点高斯积分公式可以对3次多项式精确,而同样计算量的梯形公式只对1次多项式精确对于区间[-1,1]上的积分,n点高斯积分公式的节点为勒让德多项式P x的零点,权重可通过特定公式计算利用区间变换,可将任意区间[a,b]上ₙ的积分转换为[-1,1]上的积分,从而应用标准高斯积分公式高斯积分法习题例题二点高斯积分例题三点高斯积分12使用二点高斯积分公式计算积分∫₋₁¹e^x dx使用三点高斯积分公式计算积分∫₀¹x²lnx+1dx解二点高斯积分公式的节点和权重为解首先将积分区间[0,1]变换为[-1,1]x₁=-1/√3≈-
0.5774,w₁=1∫₀¹x²lnx+1dx=1/2∫₋₁¹[t+1/2]²ln[t+1/2+1]·1/2dt=1/8∫₋₁¹t+1²lnt+3/2dtx₂=1/√3≈
0.5774,w₂=1三点高斯积分的节点和权重为应用公式∫₋₁¹e^x dx≈w₁e^x₁+w₂e^x₂=e^-
0.5774+e^
0.5774≈
0.5614+
1.7814=
2.3428x₁=-√3/5≈-
0.7746,w₁=5/9真实值为e-1/e≈
2.3504,误差约为
0.0076,相对误差约为x₂=0,w₂=8/
90.32%,精度较高x₃=√3/5≈
0.7746,w₃=5/9计算各点的函数值,然后应用公式(略去详细计算)最终得到积分近似值约为
0.0823,与真实值非常接近第五章常微分方程数值解法常微分方程是描述物理、工程和金融等领域现象的重要数学工具由于很多微分方程没有解析解,或者解析解过于复杂,数值解法在实际应用中扮演着重要角色常微分方程数值解法主要分为两大类初值问题已知微分方程和初始条件(如ya=y₀),求解区间[a,b]上的数值解常用方法包括欧拉法、改进的欧拉法、龙格-库塔方法和多步法等边值问题已知微分方程和边界条件(如ya=α,yb=β),求解区间[a,b]上的数值解常用方法包括打靶法、有限差分法和变分法等评价数值方法时,需要考虑精度(截断误差)、稳定性(误差传播控制)以及计算效率(算法复杂度)等因素欧拉方法显式欧拉法隐式欧拉法显式欧拉法是求解常微分方程初值问题最简单的数值方法对于隐式欧拉法的迭代公式为初值问题y=fx,y,yx₀=y₀,显式欧拉法的迭代公式为y_{n+1}=y_n+h·fx_{n+1},y_{n+1}y_{n+1}=y_n+h·fx_n,y_n这种方法需要在每一步解一个非线性方程以获得y_{n+1},通常其中h是步长,x_{n+1}=x_n+h这种方法的几何意义是沿着使用迭代法(如牛顿法)求解当前点的切线方向前进一步,是一阶精度方法,局部截断误差为隐式欧拉法的优点是具有良好的稳定性,特别适合求解刚性微分Oh²,全局截断误差为Oh方程(刚性微分方程是指包含变化速率差异很大的分量的方显式欧拉法的优点是简单易实现,缺点是精度较低,稳定性条件程)缺点是计算复杂度高,每步需要多次函数求值苛刻隐式欧拉法也是一阶精度方法,但其稳定区域包含整个负半平面,是绝对稳定的欧拉方法习题例题显式欧拉法求解例题隐式欧拉法求解12使用显式欧拉法求解初值问题y=y,y0=1,区间[0,1],使用隐式欧拉法求解同一个初值问题,步长h=
0.1取步长h=
0.1隐式欧拉公式y_{n+1}=y_n+h·y_{n+1},整理得解该微分方程的解析解为yx=e^x应用显式欧拉法y_{n+1}=y_n/1-hy_{n+1}=y_n+h·y_n=1+hy_nx₀=0,y₀=1x₀=0,y₀=1x₁=
0.1,y₁=1/1-
0.1≈
1.1111x₁=
0.1,y₁=1+
0.1·1=
1.1x₂=
0.2,y₂=
1.1111/1-
0.1≈
1.2346x₂=
0.2,y₂=1+
0.1·
1.1=
1.21计算得到y₁₀≈
2.8679,与真实解相比,误差约为依此类推,计算得到y₁₀≈
2.5937,而真实解
0.1496,相对误差约为
5.50%尽管误差略大,但隐式欧y1=e≈
2.7183,误差约为
0.1246,相对误差约为拉法对于刚性问题有更好的稳定性
4.58%改进的欧拉方法预测步骤使用显式欧拉法计算一个预测值ȳ_{n+1}=y_n+h·fx_n,y_n校正步骤利用预测值改进解的精度y_{n+1}=y_n+h·[fx_n,y_n+fx_{n+1},ȳ_{n+1}]/2精度分析改进的欧拉法是二阶方法,局部截断误差为Oh³,全局截断误差为Oh²改进的欧拉方法,也称为Heun方法或预测-校正方法,是一种二阶精度的数值方法,它结合了显式欧拉法的简单性和更高阶方法的精度改进的欧拉方法的基本思想是使用梯形法则代替矩形法则来近似积分∫_{x_n}^{x_{n+1}}fx,ydx≈h·[fx_n,y_n+fx_{n+1},y_{n+1}]/2由于y_{n+1}是未知的,所以先用显式欧拉法计算一个预测值,然后用这个预测值在校正步骤中计算更精确的y_{n+1}改进的欧拉方法比标准欧拉法具有更高的精度和更好的稳定性,计算量适中,是求解非刚性常微分方程的实用方法改进的欧拉方法习题龙格库塔方法-1龙格-库塔方法的基本思想龙格-库塔方法是一类通过在每一步中评估多个中间点来提高精度的单步数值方法它们使用泰勒展开式的思想,但避免了计算高阶导数,使得算法更加实用2二阶龙格-库塔方法二阶龙格-库塔方法(中点法)的公式为k₁=h·fx_n,y_n,k₂=h·fx_n+h/2,y_n+k₁/2,y_{n+1}=y_n+k₂它对应于泰勒展开式的前三项,局部截断误差为Oh³3四阶龙格-库塔方法常用的四阶龙格-库塔方法(RK4)需要在每一步计算四个增量k₁=h·fx_n,y_n,k₂=h·fx_n+h/2,y_n+k₁/2,k₃=h·fx_n+h/2,y_n+k₂/2,k₄=h·fx_n+h,y_n+k₃,然后计算加权平均y_{n+1}=y_n+k₁+2k₂+2k₃+k₄/64精度和稳定性分析四阶龙格-库塔方法的局部截断误差为Oh⁵,全局截断误差为Oh⁴它提供了良好的精度和适当的稳定性,是解决一般常微分方程初值问题的标准方法对于刚性问题,有专门的隐式龙格-库塔方法龙格库塔方法习题
(一)-例题二阶龙格库塔方法例题四阶龙格库塔方法1-2-使用二阶龙格-库塔方法(中点法)求解初值问题y=y,使用四阶龙格-库塔方法求解同一个初值问题y0=1,区间[0,
0.2],取步长h=
0.2解应用四阶龙格-库塔公式解对于方程y=y,fx,y=y应用二阶龙格-库塔公式k₁=
0.2·1=
0.2k₁=h·fx₀,y₀=
0.2·1=
0.2k₂=
0.2·f0+
0.1,1+
0.1=
0.2·
1.1=
0.22k₂=h·fx₀+h/2,y₀+k₁/2=
0.2·f0+
0.1,1+
0.1=
0.2·
1.1=
0.22k₃=
0.2·f0+
0.1,1+
0.11=
0.2·
1.11=
0.222y₁=y₀+k₂=1+
0.22=
1.22k₄=
0.2·f0+
0.2,1+
0.222=
0.2·
1.222=
0.2444真实解y
0.2=e^
0.2≈
1.2214,误差约为
0.0014,相对误差约为y₁=1+
0.2+2·
0.22+2·
0.222+
0.2444/6=1+
0.22147=
1.
221470.11%真实解y
0.2≈
1.2214,误差约为
0.00007,相对误差约为
0.006%,精度远高于二阶方法龙格库塔方法习题
(二)-例题适应性步长选择例题系统稳定性分析34对于初值问题y=-20y,y0=1,讨论如何使用适应性步长的龙格-分析四阶龙格-库塔方法应用于测试方程y=λy(λ为复数)的稳定库塔方法解决性解这是一个刚性方程,解析解为yx=e^-20x,表示快速衰解对于测试方程,四阶龙格-库塔方法的放大系数为减传统方法可能需要很小的步长才能保持稳定Rz=1+z+z²/2+z³/6+z⁴/24,其中z=hλ适应性步长策略绝对稳定条件要求|Rz|1通过数值计算,可以确定四阶龙格-库
1.使用两个不同精度的方法计算同一步的近似解塔方法的稳定区域是一个包含原点的有界区域,大致在Rez-
2.78的情况下能保持稳定
2.估计局部误差e=|y₁ᴴ-y₁ᴸ|,其中H表示高精度,L表示低精度对于刚性方程(|λ|很大),需要选择h很小才能满足稳定条件,这就
3.如果etol(容差),减小步长并重新计算;如果etol/10,增是为什么刚性问题通常需要特殊的隐式方法大步长这样,在解快速变化的区域使用小步长,在变化缓慢的区域使用大步长,提高计算效率多步法基本思想Adams-Bashforth方法Adams-Moulton方法预测-校正法多步法利用之前多个点的信息来显式多步法,使用多项式插值近隐式多步法,具有更好的稳定性结合Adams-Bashforth(预测计算下一个点,从而提高精度似积分k步Adams-Bashforth和精度k步Adams-Moulton器)和Adams-Moulton(校正它利用多点差商或积分实现更高方法的一般形式为y_{n+1}=方法的一般形式为y_{n+1}=器)的方法,兼顾计算效率和精阶精度,但需要使用单步法(如y_n+h·∑_{j=0}^{k-y_n+h·[β_{-度稳定性常用的有四步龙格-库塔方法)来获取前几个初1}β_j·fx_{n-j},y_{n-j},其中1}·fx_{n+1},y_{n+1}+Adams-Bashforth-Moulton预始值β_j是根据插值多项式推导的系∑_{j=0}^{k-2}β_j·fx_{n-测-校正法,是求解非刚性方程的数j},y_{n-j}],需要迭代求解高效方法多步法习题例题四步方法例题方法1Adams-Bashforth2Adams-Moulton给定初值问题y=y,y0=1,已有前四个点的解y₀=1,使用三步Adams-Moulton方法求解上述问题,已知y₁=
1.1052,y₂=
1.2214,y₃=
1.3499,y₄=
1.4918,使用y₄=
1.4918四步Adams-Bashforth方法计算y₅,步长h=
0.1三步Adams-Moulton公式为y_{n+1}=y_n+四步Adams-Bashforth公式为y_{n+1}=y_n+h·[9f_{n+1}+19f_n-5f_{n-1}+f_{n-2}]/24h·[55f_n-59f_{n-1}+37f_{n-2}-9f_{n-3}]/24由于f_{n+1}=f₅=y₅未知,需要迭代求解代入函数值f₄=y₄=
1.4918,f₃=y₃=
1.3499,
1.先用预测值y₅⁽⁰⁾=
1.6487f₂=y₂=
1.2214,f₁=y₁=
1.
10522.代入Adams-Moulton公式计算得y₅=
1.4918+
0.1·[55·
1.4918-59·
1.3499+y₅⁽¹⁾=
1.4918+
0.1·[9·
1.6487+19·
1.4918-5·
1.3499+37·
1.2214-9·
1.1052]/24=
1.
64871.2214]/24=
1.6487真实解y
0.5=e^
0.5≈
1.6487,误差极小,表明四步预测值和校正值几乎相同,表明迭代已收敛,最终结果Adams-Bashforth方法具有很高的精度y₅=
1.6487与真实解非常接近第六章非线性方程求根非线性方程求根的重要性迭代法的基本思想常见的求根方法非线性方程求根是数值分析中的基本问由于大多数非线性方程fx=0没有解析常用的非线性方程求根方法包括二分法题,在工程设计、物理建模、经济预测等解,需要借助数值方法求解迭代法是一(简单可靠但收敛慢)、牛顿法(收敛快众多领域都有广泛应用例如,在结构设类重要的求根方法,基本思想是构造迭代但需要导数)、割线法(不需要导数但收计中求解力平衡方程、在化学反应中求解序列{x₍},使其收敛到方程的根迭敛性略低于牛顿法)、固定点迭代法(简ₙ₎平衡常数、在金融学中求解期权定价模型代格式通常表示为x_{n+1}=gx_n,关单但收敛条件严格)等方法选择应综合等键是如何构造合适的迭代函数gx使序列考虑问题特点、计算资源和精度要求快速收敛二分法原理简单基于区间收缩的简单二分策略可靠性高只要初始区间包含根且函数连续,一定能收敛到根线性收敛每次迭代区间长度减半,收敛速度较慢算法步骤选择初始区间,计算中点函数值,根据符号确定新区间,重复直至精度满足要求二分法是求解非线性方程fx=0最简单可靠的方法之一它的核心思想是如果函数fx在区间[a,b]上连续,且fafb0(即函数值在区间两端异号),则根据中值定理,区间内必存在至少一个根使得fc=0二分法的优点是实现简单、收敛有保证,无论初始值选择如何,只要满足条件fafb0,算法一定会收敛到根缺点是收敛速度较慢,是线性收敛的,需要较多的迭代次数要达到精度ε,理论上需要的迭代次数为n≥log₂b-a/ε例如,对于区间长度为1的问题,要达到6位精度(ε=10⁻⁶),需要至少20次迭代二分法习题迭代次数区间左端点区间右端点中点函数值001--
1010.5-
0.
125200.
50.25-
0.
0156300.
250.
1250.
068440.
1250.
250.
18750.
025650.
18750.
250.
21880.0049例题1求方程的根使用二分法求解方程x³+x-1=0在区间[0,1]内的根,精度要求|fx|
0.01解令fx=x³+x-1,计算f0=-10,f1=10,满足fafb0,区间内存在根第1次迭代c₁=0+1/2=
0.5,f
0.5=
0.5³+
0.5-1=-
0.1250,因此根在[
0.5,1]内第2次迭代c₂=
0.5+1/2=
0.75,f
0.75=
0.75³+
0.75-1=
0.1720,因此根在[
0.5,
0.75]内继续迭代,最终得到x≈
0.68,满足|f
0.68|
0.01例题2收敛速度分析对于区间长度为2的问题,分析达到10⁻⁶精度需要的二分法迭代次数解根据公式n≥log₂b-a/ε,代入b-a=2,ε=10⁻⁶,得到n≥log₂2×10⁶≈log₂2+log₂10⁶≈1+20=21因此需要至少21次迭代才能达到要求的精度牛顿法(方法)Newton-Raphson导数的作用牛顿法利用函数在当前点的切线来逼近根,切线的斜率即为函数在该点的导数导数提供了函数局部行为的信息,使得迭代能够更快地接近根迭代公式推导设fx=0的一个根为α,从初始猜测x₀开始,在点x₀,fx₀处作切线,切线与x轴的交点作为下一个近似值x₁利用切线方程y-fx₀=fx₀x-x₀,并令y=0,得到迭代公式x_{n+1}=x_n-fx_n/fx_n收敛性分析牛顿法在大多数情况下是二次收敛的,这意味着误差的量级每次迭代大约会减少一半(即有效数字每次迭代大约会增加一倍)但当根是多重根时,收敛速度会降低为线性收敛注意事项牛顿法收敛快但对初始值敏感如果初始值选择不当,可能会发散或收敛到另一个根另外,如果在迭代过程中遇到fx_n≈0,会导致数值不稳定牛顿法习题241e-10收敛阶数迭代次数最终精度牛顿法的标准收敛速度达到精度要求所需步数四次迭代后的误差量级例题1求非线性方程的根使用牛顿法求解方程x³+x-1=0,初始值x₀=
0.5,进行3次迭代解令fx=x³+x-1,fx=3x²+1第1次迭代f
0.5=
0.5³+
0.5-1=-
0.375,f
0.5=
30.5²+1=
1.75x₁=
0.5--
0.375/
1.75=
0.5+
0.214=
0.714第2次迭代f
0.714=
0.714³+
0.714-1=
0.0334,f
0.714=
30.714²+1=
2.53x₂=
0.714-
0.0334/
2.53=
0.714-
0.013=
0.701第3次迭代f
0.701=
0.701³+
0.701-1=
0.0003,f
0.701=
30.701²+1=
2.47x₃=
0.701-
0.0003/
2.47=
0.701因此,近似根为x≈
0.701,已经达到很高的精度割线法基本原理迭代公式割线法是牛顿法的一种变体,它使用函数在两点的x_{n+1}=x_n-fx_nx_n-x_{n-差商代替导数21}/fx_n-fx_{n-1}实际应用与牛顿法比较需要两个初始点,适用于导数计算困难或代价高的无需计算导数,但收敛速度稍慢,为
1.618阶(黄情况金分割比)收敛割线法的核心思想是用两点间的割线斜率近似导数,避免了显式计算导数的麻烦它需要两个初始猜测值x₀和x₁,然后使用迭代公式生成后续的近似值相比牛顿法,割线法的优点是无需计算导数,每次迭代只需要一次函数求值(而不是两次,因为可以重用前一步的函数值)缺点是收敛速度略慢于牛顿法,且需要两个初始值当函数的导数计算复杂或代价高昂时,割线法是一个很好的选择它在实际应用中常用于复杂工程问题和科学计算中割线法习题例题1应用割线法求根例题2收敛性分析使用割线法求解方程cosx-x=0,初始值x₀=0,x₁=1,进行3次迭代分析割线法的收敛速度,并与牛顿法进行比较解令fx=cosx-x解对于简单根,割线法的收敛阶为1+√5/2≈
1.618(黄金分割比),介于线性收敛和二次收敛之间计算初始函数值f0=cos0-0=1,f1=cos1-1≈-
0.46这意味着如果当前误差为e_n,则下一步的误差大约为e_{n+1}≈Ce_n^{
1.618},其第1次迭代中C是一个常数x₂=1--
0.461-0/-
0.46-1=1--
0.46·1/-
1.46=1-
0.315=
0.685相比之下,牛顿法的收敛阶为2,即e_{n+1}≈Ce_n^2计算f
0.685=cos
0.685-
0.685≈-
0.056举例假设某问题的初始误差为
0.1,经过5次迭代第2次迭代牛顿法误差减小到约10^-16(双精度浮点数的极限)x₃=
0.685--
0.
0560.685-1/-
0.056--
0.46=
0.685--
0.056·-割线法误差减小到约10^-
80.315/
0.404=
0.685+
0.044=
0.729虽然割线法收敛稍慢,但每次迭代只需一次新的函数求值,而牛顿法需要计算函数值计算f
0.729=cos
0.729-
0.729≈-
0.005和导数值第3次迭代x₄=
0.729--
0.
0050.729-
0.685/-
0.005--
0.056=
0.729--
0.005·
0.044/
0.051=
0.729+
0.004=
0.733得到的近似根为x≈
0.733,与实际根x≈
0.7391非常接近第七章线性方程组的数值解法直接法概述迭代法概述直接法在有限步内得到精确解(忽略舍迭代法通过构造迭代序列逐步逼近真入误差),包括高斯消元法、LU分解、解,包括雅可比迭代法、高斯-赛德尔Cholesky分解等这类方法适用于规迭代法、共轭梯度法等这类方法特别模不太大且稠密的线性方程组,计算量适用于大规模稀疏线性方程组,每次迭与方程个数的三次方成正比代的计算量与非零元素数量成正比病态问题的讨论病态方程组对输入数据的微小扰动非常敏感,其条件数(最大奇异值与最小奇异值之比)很大在处理病态问题时,需要特别注意数值稳定性,可能需要采用预处理技术或正则化方法线性方程组Ax=b的数值解法是科学计算和工程应用中的核心问题选择合适的求解方法需要考虑方程组的规模、稀疏性、条件数以及所需的精度等因素对于小规模或中等规模的稠密矩阵,直接法通常是首选;对于大规模稀疏矩阵,迭代法往往更有效在实际应用中,还需要考虑算法的并行性、内存需求和计算平台的特点高斯消元法消元过程高斯消元法的第一阶段是消元过程,目标是将系数矩阵A转化为上三角矩阵U具体步骤如下
1.选择第一列的主元(通常是第一个非零元素)
2.对第一列下方的所有行进行消元操作用主元所在行乘以适当的系数后减去当前行,使得第一列主元下方的所有元素变为
03.在剩余的子矩阵中重复上述过程,直到得到上三角矩阵回代过程高斯消元法的第二阶段是回代过程,从最后一个方程开始,逐步求解各个未知数
1.从最后一个方程x=b/a求解xₙₙₙₙₙ
2.依次向上求解xᵢ=bᵢ-∑j=i+1to naᵢⱼxⱼ/aᵢᵢ,i从n-1降到1回代过程的计算量与n²成正比,相比消元过程的n³计算量要小得多优化与变体为了提高高斯消元法的数值稳定性和效率,有多种优化和变体
1.列主元消去法在每一步选择当前列绝对值最大的元素作为主元,能显著改善数值稳定性
2.全主元消去法在剩余子矩阵中选择绝对值最大的元素作为主元,稳定性最好但需要记录行列交换
3.LU分解将高斯消元过程分解为L(单位下三角)和U(上三角)的乘积,便于多次求解不同的右端项b高斯消元法习题例题1解线性方程组例题2LU分解使用高斯消元法求解下列线性方程组对矩阵A进行LU分解,其中2x+y-z=8A=|43|-3x-y+2z=-11|63|-2x+y+2z=-3解根据LU分解的定义,L是单位下三角矩阵,U是上三角矩阵,且A=LU解将增广矩阵写为设L=|10|,U=|u₁₁u₁₂||21-1|8||l₂₁1||0u₂₂||-3-12|-11|根据A=LU,得到|-212|-3|4=u₁₁,3=u₁₂消元得上三角矩阵(略去详细计算过程)6=l₂₁u₁₁,3=l₂₁u₁₂+u₂₂|21-1|8|解得u₁₁=4,u₁₂=3,l₂₁=
1.5,u₂₂=-
1.5|
00.
50.5|1|因此,L=|10|,U=|43||003|6||
1.51||0-
1.5|回代求解z=6/3=2,y=1-
0.5×2/
0.5=0,x=8-1×0+1×2/2=5验证L×U=|1×4+0×01×3+0×-
1.5|=|43|=A解得x=5,y=0,z=2|
1.5×4+1×
01.5×3+1×-
1.5|=|63|雅可比迭代法迭代公式雅可比迭代法是最基本的线性方程组迭代求解方法对于线性方程组Ax=b,将A分解为A=D-L-U,其中D是对角矩阵,-L是严格下三角矩阵,-U是严格上三角矩阵雅可比迭代公式为x^k+1=D^-1L+Ux^k+D^-1b,或者按分量表示x_i^k+1=b_i-∑_{j≠i}a_{ij}x_j^k/a_{ii}迭代过程雅可比迭代法的特点是使用上一次迭代的所有分量值来计算新的近似解,因此也称为同步迭代法每次迭代需要一个临时向量存储上一次的迭代结果,计算完成后再一次性更新所有未知量的值收敛条件雅可比迭代法的收敛条件是迭代矩阵B_J=D^-1L+U的谱半径ρB_J1常见的充分条件有1系数矩阵是严格对角占优的,即|a_{ii}|∑_{j≠i}|a_{ij}|对所有i成立2系数矩阵是对称正定的应用特点雅可比迭代法计算简单,易于并行实现,对于大规模稀疏线性方程组尤其有效它特别适合于系数矩阵接近对角矩阵的情况在实际应用中,常作为基础算法被其他更高效的方法改进雅可比迭代法习题高斯赛德尔迭代法-算法原理收敛性分析与雅可比法的比较高斯-赛德尔迭代法是雅可比迭代法的改进版高斯-赛德尔法的迭代矩阵为B_GS=D-高斯-赛德尔法的主要优势在于1收敛速度本,其核心思想是利用最新计算出的分量L^-1U,收敛条件是谱半径ρB_GS1通常更快,尤其是对稠密矩阵;2内存需求值,而不是等到所有分量都更新完毕对于与雅可比法类似,当A是严格对角占优矩阵或更少,因为可以就地更新解向量,不需要额线性方程组Ax=b,将A分解为A=D-L-U后,对称正定矩阵时,高斯-赛德尔法收敛更重外的存储空间;3对于某些问题,即使雅可高斯-赛德尔迭代公式为D-Lx^k+1=要的是,对于这些情况,高斯-赛德尔法通常比法不收敛,高斯-赛德尔法也可能收敛不Ux^k+b,按分量表示x_i^k+1=b_i比雅可比法收敛速度更快过,高斯-赛德尔法的顺序更新特性使其并行-∑_{ji}a_{ij}x_j^k/a_{ii}化难度高于雅可比法高斯赛德尔迭代法习题-28159迭代次数迭代次数迭代次数雅可比法达到精度要求所需步数高斯-赛德尔法所需步数SOR法ω=
1.25所需步数例题1解大型稀疏线性系统考虑二维泊松方程的五点差分离散化得到的线性系统,矩阵尺寸为100×100,使用高斯-赛德尔迭代法求解解对于二维泊松方程的五点差分格式,得到的线性系统具有特殊的稀疏结构,系数矩阵是一个块三对角矩阵,每行最多有5个非零元素对于网格点i,j处的离散方程4u_{i,j}-u_{i+1,j}-u_{i-1,j}-u_{i,j+1}-u_{i,j-1}=h²f_{i,j}高斯-赛德尔迭代格式为u_{i,j}^k+1=u_{i+1,j}^k+u_{i-1,j}^k+1+u_{i,j+1}^k+u_{i,j-1}^k+1+h²f_{i,j}/4迭代顺序通常按照行优先或列优先进行,即先遍历所有的i,再遍历所有的j迭代终止条件可以设置为相邻两次迭代的最大差值小于给定容差例题2加速收敛技术介绍连续过松弛(SOR)方法如何加速高斯-赛德尔迭代法的收敛速度解SOR方法是高斯-赛德尔方法的进一步改进,引入松弛因子ωx_i^k+1=1-ωx_i^k+ωb_i-∑_{ji}a_{ij}x_j^k/a_{ii}当0ω1时称为低松弛,可提高解的稳定性;当1ω2时称为过松弛,可加速收敛对于特定问题,存在最优松弛因子ω_opt使得收敛速度最快例如,对于二维泊松方程的五点差分格式,当网格为n×n时,理论上的最优松弛因子为ω_opt=2/1+sinπ/n≈2/1+π/n,当n较大时选择合适的松弛因子可以显著减少迭代次数,例如在某些情况下,可以将迭代次数从On²减少到On第八章特征值问题特征值问题的重要性幂法基本原理特征值问题在科学计算、工程应用、数据分幂法是最简单的特征值计算方法,适用于计析等领域有广泛应用例如,在结构分析中算矩阵的主特征值(绝对值最大的特征值)求解振动模态、在量子力学中求解薛定谔方及其对应的特征向量基本思想是通过反复程、在主成分分析中降维数据等,都涉及到将矩阵作用于向量,使向量逐渐靠近主特征特征值计算向量的方向算法简介反幂法与移位技术QRQR算法是计算矩阵所有特征值的有效方反幂法是幂法的变体,用于计算绝对值最小法其基本思想是通过QR分解和矩阵乘积的特征值移位技术可以将目标特征值转变的迭代序列,使矩阵逐渐接近上三角形式,为主特征值或最小特征值,从而求解矩阵的从而在对角线上显现所有特征值QR算法任意特征值这些方法构成了求解特征值问是现代特征值计算的标准方法之一题的基础工具幂法习题例题1求最大特征值例题2反幂法求最小特征值使用幂法求解矩阵A的最大特征值及其对应的特征向量,其中A=[[4,1],[2,3]],初使用反幂法求解矩阵A=[[4,1],[1,3]]的最小特征值及其对应的特征向量,初始向量始向量x⁽⁰⁾=[1,1]ᵀ,进行3次迭代x⁽⁰⁾=[1,0]ᵀ解幂法的迭代公式为y⁽ᵏ⁾=Ax⁽ᵏ⁻¹⁾,x⁽ᵏ⁾=y⁽ᵏ⁾/||y⁽ᵏ⁾||解反幂法的迭代公式为解线性方程组Ay⁽ᵏ⁾=x⁽ᵏ⁻¹⁾得到y⁽ᵏ⁾,然后x⁽ᵏ⁾=y⁽ᵏ⁾/||y⁽ᵏ⁾||第1次迭代y⁽¹⁾=Ax⁽⁰⁾=[[4,1],[2,3]]·[1,1]ᵀ=[5,5]ᵀ,||y⁽¹⁾||=√5²+5²=5√2第1次迭代求解[[4,1],[1,3]]y⁽¹⁾=[1,0]ᵀ,得到y⁽¹⁾=[
0.2727,-
0.0909]ᵀx⁽¹⁾=y⁽¹⁾/||y⁽¹⁾||=[5/5√2,5/5√2]ᵀ=[1/√2,1/√2]ᵀx⁽¹⁾=y⁽¹⁾/||y⁽¹⁾||=[
0.2727,-
0.0909]ᵀ/
0.2873=[
0.9491,-
0.3165]ᵀ第2次迭代y⁽²⁾=Ax⁽¹⁾=[[4,1],[2,3]]·[1/√2,1/√2]ᵀ=[5/√2,5/√2]ᵀ,||y⁽²⁾||=5继续迭代几次后,向量收敛到x≈[
0.9487,-
0.3162]ᵀx⁽²⁾=y⁽²⁾/||y⁽²⁾||=[1/√2,1/√2]ᵀ估计特征值λ⁻¹≈x⁽ᵏ⁾ᵀy⁽ᵏ⁾=
0.3162,因此λ≈
3.1623第3次迭代y⁽³⁾=Ax⁽²⁾=[[4,1],[2,3]]·[1/√2,1/√2]ᵀ=[5/√2,5/√2]ᵀ,||y⁽³⁾||=5实际上,矩阵A的特征值为λ₁=5和λ₂=2,反幂法收敛到了最小特征值λ₂=2的x⁽³⁾=y⁽³⁾/||y⁽³⁾||=[1/√2,1/√2]ᵀ倒数估计特征值λ≈x⁽³⁾ᵀAx⁽³⁾=[1/√2,1/√2]·[5/√2,5/√2]ᵀ=5因此,最大特征值λ₁=5,对应的特征向量为v₁≈[1/√2,1/√2]ᵀ=[
0.7071,
0.7071]ᵀ算法习题QR例题1QR分解例题2求所有特征值对矩阵A=[[3,2],[2,1]]进行QR分解使用QR算法计算矩阵A=[[3,2],[2,1]]的所有特征值解使用格拉姆-施密特正交化方法进行QR分解解QR算法的迭代步骤为设A=[a₁,a₂],其中a₁=[3,2]ᵀ,a₂=[2,1]ᵀ
1.计算A^k的QR分解A^k=Q^kR^k计算q₁=a₁/||a₁||=[3,2]ᵀ/√3²+2²=[3,2]ᵀ/√13=[
0.8321,
0.5547]ᵀ
2.计算下一个迭代矩阵A^k+1=R^kQ^k计算q₂的方向向量a₂-q₁ᵀa₂q₁=[2,1]ᵀ-
0.8321·2+
0.5547·1·[
0.8321,
0.5547]ᵀ初始A^0=A=[[3,2],[2,1]]=[2,1]ᵀ-
2.2189·[
0.8321,
0.5547]ᵀ=[2,1]ᵀ-[
1.8463,
1.2308]ᵀ=[
0.1537,-
0.2308]ᵀ迭代1次(略去详细计算过程)得到A^1=[[
3.8,
0.4],[
0.4,
0.2]]计算q₂=[
0.1537,-
0.2308]ᵀ/√
0.1537²+-
0.2308²=[
0.1537,-
0.2308]ᵀ/
0.2771=迭代2次得到A^2=[[
3.95,
0.09],[
0.09,
0.05]][
0.5547,-
0.8321]ᵀ迭代3次得到A^3=[[
3.99,
0.02],[
0.02,
0.01]]因此,Q=[q₁,q₂]=[[
0.8321,
0.5547],[
0.5547,-
0.8321]]随着迭代次数增加,矩阵A^k越来越接近上三角矩阵,对角线元素趋向于特征值计算R=QᵀA=[[
0.8321,
0.5547],[
0.5547,-
0.8321]]ᵀ·[[3,2],[2,1]]=[[
3.6056,经过多次迭代后,得到A^∞≈[[4,0],[0,0]]
2.2189],[0,
0.2771]]因此,矩阵A的特征值为λ₁=4和λ₂=0可以通过特征多项式detA-λI=λ²-4λ+1=可以验证A=QR,完成QR分解0验证,解得λ₁=4+√12/2≈
3.732和λ₂=4-√12/2≈
0.268注此例中QR算法的收敛结果与实际特征值有一定偏差,实际应用中通常需要更多迭代或结合其他技术(如移位)来提高精度第九章偏微分方程数值解法抛物型方程数值解抛物型偏微分方程的典型代表是热传导方程∂u/∂t=α∂²u/∂x²+fx,t,它描述了热量在介质中的扩散过程对该方程的数值求解通常采用时间和空间的离散化方法显式格式(向前差分)u_i^{j+1}-u_i^j/Δt=αu_{i+1}^j-2u_i^j+u_{i-1}^j/Δx²+f_i^j整理得u_i^{j+1}=u_i^j+rαu_{i+1}^j-2u_i^j+u_{i-1}^j+Δt·f_i^j,其中r=Δt/Δx²显式格式实现简单,但存在稳定性条件限制r≤1/2,这使得时间步长受到严格约束隐式格式(向后差分)u_i^{j+1}-u_i^j/Δt=αu_{i+1}^{j+1}-2u_i^{j+1}+u_{i-1}^{j+1}/Δx²+f_i^{j+1}隐式格式需要在每个时间步求解线性方程组,但具有无条件稳定性,允许使用较大的时间步长椭圆型方程数值解五点差分格式离散方程系统迭代解法椭圆型偏微分方程的典型代表是泊松方程将五点差分格式代入泊松方程,并假设Δx=Δy=常用的迭代方法包括雅可比迭代法、高斯-赛德∂²u/∂x²+∂²u/∂y²=fx,y,常用于描述静电场、h,得到离散方程尔迭代法和SOR法这些方法直接从差分方程导出重力场等势场问题五点差分格式是求解二维泊松迭代公式,例如高斯-赛德尔迭代公式为u_{i+1,j}+u_{i-1,j}+u_{i,j+1}+u_{i,j-1}-方程的基本方法,将二阶导数近似为4u_{i,j}=h²f_{i,j}u_{i,j}^{k+1}=u_{i+1,j}^k+u_{i-1,j}^{k+1}+∂²u/∂x²≈u_{i+1,j}-2u_{i,j}+u_{i-1,j}/Δx²u_{i,j+1}^k+u_{i,j-1}^{k+1}+h²f_{i,j}/4对于n×m网格,这将形成一个大型稀疏线性方程∂²u/∂y²≈u_{i,j+1}-2u_{i,j}+u_{i,j-1}/Δy²组系数矩阵是对称正定的,具有特殊的结构,适对于大规模问题,多重网格法可显著加速收敛合使用迭代法求解总结与展望数值分析的核心价值提供解决复杂数学问题的实用工具,连接理论与应用发展趋势高性能计算、并行算法、机器学习与数值方法的融合学习建议结合理论与编程实践,培养数学直觉和算法思维课程回顾系统掌握了从误差分析到各类数值方法的核心知识体系通过本课程的系统学习,我们已经全面掌握了数值分析的核心内容,包括误差分析、插值逼近、数值积分、常微分方程数值解法、非线性方程求根、线性方程组求解、特征值计算以及偏微分方程数值解法等这些方法构成了解决科学与工程计算问题的基本工具箱数值分析作为应用数学的重要分支,正在经历快速发展未来的趋势包括更高效的大规模并行算法、针对异构计算架构的算法优化、不确定性量化技术的发展、机器学习与传统数值方法的结合等随着人工智能的发展,基于数据的数值方法也将获得更多关注对于数值分析的学习,建议同学们一是加强理论基础,深入理解各种数值方法的原理与局限;二是重视实践,通过编程实现各种算法并解决实际问题;三是关注前沿发展,及时了解学科新进展;四是培养跨学科视野,将数值方法应用到自己感兴趣的专业领域中。
个人认证
优秀文档
获得点赞 0