数值计算误差分析

合集下载

数值计算中的误差分析与修正方法

数值计算中的误差分析与修正方法

数值计算中的误差分析与修正方法引言:在现代科学和工程领域中,数值计算扮演着至关重要的角色,因为它能够为研究人员和工程师们提供精确、高效的解决复杂问题的手段。

然而,由于计算机的本质限制,数值计算常常会引入各种误差,从而影响计算结果的准确性和可靠性。

本文将探讨数值计算中常见的误差类型以及相应的分析和修正方法,旨在提高计算结果的精确性。

一、误差类型和来源1. 舍入误差:舍入误差是由于现代计算机内部对数字表示进行近似导致的。

由于计算机使用有限的二进制位数来表示实数,因此无法精确表示一些无理数或十进制小数。

这导致在执行算术运算时,结果会舍入到最接近的有效数字,从而引入舍入误差。

2. 截断误差:截断误差是由于截断或近似无限序列或函数而导致的。

例如,在数值积分中,将无限积分区间截断为有限部分,即使使用复杂的数值积分方法,仍然会产生截断误差。

3. 模型误差:模型误差是由于对实际问题建立的数学模型的简化或近似而引入的。

实际问题往往非常复杂,而为了进行数值计算,必须对问题进行适当建模。

然而,简化和近似会导致模型与真实情况之间存在差异,从而引入模型误差。

4. 数值不稳定性:数值计算中有些问题可能非常敏感,稍许输入变动可能会导致输出结果的巨大变化。

这种情况称为数值不稳定性。

例如,当计算具有较大条件数的线性系统或求根问题时,数值不稳定性可能会使结果产生较大的误差。

二、误差分析方法1. 误差界估计:误差界估计是一种常用的误差分析方法,它通过推导数值计算结果与真实结果之间的差距来提供一个误差界。

误差界估计方法利用数学技巧和数值分析原理,将误差的上界或下界与计算结果相关的因素联系起来,从而得到计算结果的误差范围。

2. 扩展精度计算:扩展精度计算是通过在计算过程中使用更高的精度,以减小舍入误差对最终结果的影响。

一种常见的方法是使用任意精度算法,例如多重精度算法。

这种方法的缺点是执行速度较慢,但可以显著减小舍入误差。

3. 自适应步长算法:自适应步长算法是为了减小截断误差而设计的一种方法。

数值分析中的误差分析与收敛性

数值分析中的误差分析与收敛性

数值分析中的误差分析与收敛性数值分析是一门研究利用计算机进行数学计算和问题求解的学科,它在科学计算、工程设计、金融分析等领域中具有广泛的应用。

然而,在数值计算过程中,由于计算机的有限精度和数值算法的近似性质,误差问题成为了一个不可避免的挑战。

因此,了解误差的来源和性质,以及数值计算方法的收敛性,对于保证计算结果的准确性和可靠性非常重要。

本文将探讨数值分析中的误差分析与收敛性问题。

1. 误差的来源及分类在数值计算中,误差可以分为四类:舍入误差、截断误差、模型误差和舍入误差。

舍入误差是由于计算机内部使用有限位数表示实数导致的误差,它来源于将实数近似为计算机可表示的数值。

截断误差是在计算过程中采取舍入法或截断法将无限级数或无限小量等进行有限近似所引入的误差。

模型误差是将实际问题用数学模型进行近似所引入的误差,它包括了模型的简化和不完全描述等因素。

舍入误差是由于使用有限位数存储和运算导致的误差。

2. 误差的度量方法误差的度量方法包括绝对误差和相对误差。

绝对误差是指数值近似解与真实解之间的差值,它可以用来度量数值计算的准确度。

相对误差是绝对误差除以真实解的绝对值后得到的比值,它可以用来度量数值计算的相对准确度。

通过对误差进行度量和分析,可以评估数值计算方法的准确性,并选择合适的数值方法来解决实际问题。

3. 收敛性在数值计算中,所谓的收敛性是指数值方法的逼近解序列以某种方式趋近于真实解。

一个数值方法是收敛的,意味着当步长趋于0时,逼近解趋近于真实解。

收敛性的评估是数值分析中一个重要的问题,它关系到数值方法的稳定性和可靠性。

常见的收敛性分析方法包括局部截断误差、阶、收敛速度等。

局部截断误差是用来评估数值方法在每个步长上的近似误差,阶是用来度量数值方法逼近真实解的速度。

4. 提高数值计算的准确性与可靠性为了提高数值计算的准确性与可靠性,我们可以采取多种方法。

首先,选择合适的数值方法和算法,确保其满足问题的数学性质和准确性要求。

数值计算中的误差估计与分析

数值计算中的误差估计与分析

数值计算中的误差估计与分析在数值计算中,误差是无法避免的。

无论是数值积分、求根、线性方程组求解还是常微分方程求解,我们都需要对误差进行估计与分析,以保证结果的可靠性。

1.舍入误差:计算机中数字的存储精度是有限的,常用的浮点数表示法只能表示有限位数的小数。

当进行计算时,由于舍入操作会使结果产生一定的误差。

舍入误差是由于浮点数计算机表示能力造成的,它依赖于计算机所采用的机器数系统。

2.截断误差:在数值计算方法中,我们通常会使用有限项的级数展开式或多项式插值来近似解析解。

但由于展开或插值时的截断限制,会导致结果与真实结果之间的误差。

3.近似误差:数值计算方法本身就是在对问题进行近似求解,所以解的精确性受到近似精度的限制。

比如,对于数值积分来说,选择积分点的个数、插值多项式的次数都会影响结果的准确性。

4.舍入误差传播:在多步计算的过程中,每一步的舍入误差都会传播到下一步计算中,进而影响最终结果。

舍入误差的传播是一个累积效应,有时即使每一步舍入误差非常小,但在多步计算的累加下,也会导致结果产生很大的误差。

二、误差估计方法1.精度估计:对于一些数值方法,可以通过理论分析推导出误差的范围。

例如,对于数值积分,可以通过误差估计公式进行分析。

这种方法需要对问题进行数学建模,并具备一定的数学推导能力。

2.实验估计:对于一些复杂问题,很难通过理论分析得到精确的误差范围。

此时可以通过实验的方式来估计误差。

实验方法可以是计算机模拟实验,也可以是通过比较数值方法与解析解的差异来估计误差。

3.改进方法:除了估计误差大小,我们还可以通过改进数值方法来减小误差。

比如,可以采用更高阶的数值积分公式、使用更精确的数值微分方法等。

这些改进方法在一定程度上可以提高数值计算的准确性,并减小误差。

三、误差分析策略1.迭代策略:很多数值方法都是通过迭代来逐步逼近真实解的。

在迭代过程中,我们可以通过观察迭代序列的变化情况来判断结果是否趋近真实解,以及误差的变化是否在可接受范围内。

数值分析误差限的计算公式

数值分析误差限的计算公式

数值分析误差限的计算公式1、误差x∗为 x 一个近似值绝对误差:e∗=x∗−x相对误差:e∗r=e∗x=x∗−xx,由于真值 x 总是不知道的,通常取e∗r=e∗x∗=x∗−xx∗误差限:|x∗−x|≤ε∗相对误差限:ε∗r=ε∗|x∗|ε(f(x∗))≈|f′(x∗)|ε(x∗)2、插值法记ωn+1(x)=(x−x0)(x−x1)⋯(x−xn)Lagrange 插值多项式系数:lk(xk)=(x−x0)⋯(x−xk−1)(x−xk+1)⋯(x−xn)(xk−x0)⋯(xk−xk−1)(x −xk+1)⋯(x−xn)Lagrange 插值多项式:Ln(x)=∑k=0nlk(x)yk=∑k=0nykωn+1(x)ω′n+1(xk)(x−xk) 余项:记 Mn+1=maxa≤x≤b|fn+1(x)|R(x)=fn+1(ξ)ωn+1(x)(n+1)!≤Mn+1(n+1)!|ωn+1(x)|均差与 NewTon 插值多项式一阶均差:f[x0,xk]=f(xk)−f(x0)xk−x0k 阶均差:f[x0,x1,⋯,xk]=f[x0,⋯,xk−2,xk]−f[x0,⋯,xk−2,xk−1]xk−xk−1f[x0,x1,⋯,xn]=f(n)(ξ)n!(x0,x1,⋯,xn,ξ∈[a,b])f[x0,x1,⋯,xk]=∑j=0kf(xj)ω′k+1(xj)NewTon 插值多项式:Pn(x)=f(x0)+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+⋯+f[x0,x1,⋯,xn](x−x0)(x−x1)⋯(x−xn−1)余项:R(x)=f[x0,x1,⋯,xn]ωn+1(x)Hermite 插值Taylor 多项式:Pn(x)=f(x0)+f′(x0)(x−x0)+⋯+f(n)(x0)n!(x−x0)n余项:R(x)=f(n+1)(ξ)(n+1)!(x−x0)n+1若已知 f(x0),f′(x1),f(x1),f(x2):P(x)=f(x0)+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+A(x−x0)(x−x1)(x−x2)其中 A 由 P′(x1)=f′(x1) 可得余项:R(x)=14!f(4)(ξ)(x−x0)(x−x1)2(x−x2)两点三次 Hermite 插值多项式:H3(x)=αk(x)yk+αk+1(x)yk+1+βk(x)mk+βk+1(x)mk+1其中 mk=f′(xk),mk+1=f′(xk+1)⎧⎧⎧⎧⎧⎧⎧⎧⎧⎧⎧αk(x)=(1+2x−xkxk+1−xk)(x−xk+1xk−xk+1)2αk+1(x)=(1+2x−xk+1xk−xk+1)(x−xkxk+1−xk)2⎧⎧⎧⎧⎧⎧⎧⎧⎧⎧⎧βk(x)=(x−xk)(x−xk+1xk−xk+1)2βk+1(x)=(x−xk+1)(x−xkxk+1−xk)2余项:R(x)=f(4)(ξ)4!(x−xk)2(x−xk+1)2分段低次插值h=b−an对每个小区间使用对应插值公式求 Ih(x)余项对分段线性插值函数:maxa≤x≤b|f(x)−Ih(x)|≤M28h2对分段三次埃尔米特插值:maxa≤x≤b|f(x)−Ih(x)|≤M4384h43、数值积分代数精度定义:如果某个求积公式对于次数不超过 m 的多项式均能够准确成立,但对于 m+1 次多项式就不准确成立,则称该公式具有 m 次代数精度梯形公式公式与中矩形公式梯形公式:∫baf(x)dx≈b−a2f(a)+b−a2f(b)余项:R[f]=−(b−a)312f′′(η)(η∈(a,b))矩形公式:∫baf(x)dx≈(b−a)f(a+b2)余项:R[f]=(b−a)324f′′(η)(η∈(a,b))Newton-Cotes 公式将积分区间 [a,b] 分成 n 等分Simpson 公式(n=2):∫baf(x)dx≈b−a6f(a)+b−a6f(b)+2(b−a)3f(a+b2)余项:R[f]=−(b−a)5180∗24f(4)(η)(η∈(a,b))Cotes 公式(n=4):C=b−a90[7f(x0)+32f(x1)+12f(x2)+32f(x3)+7f(x4)]余项:R[f]=−2(b−a)7945∗46f(6)(η)(η∈(a,b))复合求积公式积分区间 [a,b] 分成 n 等分,步长 h=b−an复合梯形公式:Tn=h2[f(a)+2∑k=0n−1f(xk)+f(b)]余项:Rn(f)=−b−a12h2f′′(η)复合 Simpson 求积公式:Sn=h6[f(a)+2∑k=0n−1f(xk)+4∑k=1n−2f(x(k+1)/2)+f(b)] 其中 x(k+1)/2=xk+h2Rn(f)=−b−a180(h2)4f(4)(η)龙贝格求积算法T(0)0=h2[f(a)+f(b)]求梯形值 T0(b−a2k),利用递推公式求 T(k)0,递推公式:T2n=12Tn+h2∑k=0n−1f(xk+12)求加速值:T(k)m=4m4m−1Tk+1m−1−14m−1T(k)m−1k=1,2,⋯高斯-勒让德求积公式积分区间为 [−1,1]∫1−1f(x)dx≈∑k=0nAkf(xk)余项:n=1 时,R1[f]=1135f(4)(η)4、解线性方程组的直接方法列主元高斯消去法在每次消元时,选取列主元在最前面,列主元为该列最大值矩阵三角分解法如果 n 阶矩阵 A 的各阶顺序主子式 Dk(k=1,2,⋯,n−1) 均不为零,则必有单位下三角矩阵 L 和上三角矩阵 U,使得 A=LU,并且 L 和 U 是唯一的。

误差分析与数值计算的基本方法

误差分析与数值计算的基本方法

误差分析与数值计算的基本方法在日常生活中,我们不断地进行着数值计算,比如计算家庭的开销、工作中的数据分析等。

然而,在数值计算中,我们经常会遇到误差的问题。

误差不仅会影响计算结果的准确性,还可能导致实际应用中的误判或失败。

因此,正确的误差分析和数值计算方法具有非常重要的意义。

本文将从几个方面来介绍误差分析和数值计算的基本方法。

误差的类型误差是指实际值与真实值之间的差异,而误差可以分为绝对误差和相对误差。

绝对误差是指实际值与真实值之间的差异,通常以绝对值来表示。

相对误差是指绝对误差与真实值之比的绝对值,通常以百分数的形式来表示。

在计算机数值计算中,由于计算机内部表示数字的方式是有限制的,因此还会出现舍入误差。

所谓舍入误差,就是因为数字的位数限制而被截掉的数值,造成的误差。

误差的来源在数值计算中,误差来自多个方面,如输入数据、计算过程、输出结果等。

不同来源的误差,可能导致误差类型不同,进而影响正确性和可靠性。

输入数据的误差是指在实际输入数据时可能出现的误差,包括仪器误差、测量误差、观测误差等。

这些误差通常是由于工具或人的精度不同而产生的。

计算过程的误差是指计算中可能发生的误差,包括算法误差、步长误差、舍入误差等。

由于计算机的运算只有0和1两种状态,因此可能出现舍入误差。

输出结果的误差是指计算结果与最终目标之间的差异,包括截断误差、舍入误差等。

输出结果误差可能会影响后续的数值计算和实际结果的可靠性。

误差的刻画和控制误差的刻画和控制是数值计算中非常重要的内容,它们决定了数值计算的正确性和可靠性。

误差的刻画包括误差界的估计和误差分布的描述。

误差界是指计算结果可能存在的误差上限和下限,误差分布是指误差可能呈现的分布状态。

通过误差界和误差分布,我们可以判断计算结果的可靠性,制定正确的数值计算策略。

误差的控制包括提高输入数据的准确性、选择适当的算法和参数、严格的校验和测试、合适的舍入方式等方法。

通过合适的误差控制方法,我们可以提高数值计算的正确性和稳定性。

数值计算中的误差分析与修正

数值计算中的误差分析与修正

数值计算中的误差分析与修正在数值计算过程中,误差是无法避免的。

误差可能来源于测量、逼近、截断等方面,而误差的累积会影响计算结果的准确性。

因此,对数值计算中的误差进行分析与修正显得十分重要。

本文将从误差来源和分类、误差分析的方法以及误差修正的策略等方面进行探讨。

一、误差来源与分类1. 测量误差:测量误差是由于测量过程中的不确定性而引起的。

例如,使用仪器时存在的仪器精度、随机误差等。

测量误差可以进一步分为系统误差和随机误差。

2. 截断误差:截断误差是指在计算中将无穷多的项或无穷小量截断成有限项或有限小量引起的误差。

例如,使用泰勒级数逼近一个函数,截断后的余项即为截断误差。

3. 近似误差:近似误差是由于计算或逼近方法的近似性而引起的。

近似误差可以分为代数近似误差和函数近似误差两类。

4. 舍入误差:在计算机中,数值通常以有限的二进制数表示。

当进行舍入操作时,由于精度的限制,会引入舍入误差。

二、误差分析方法1. 绝对误差与相对误差:绝对误差是指计算结果与真实值之间的差别,表示为|实际值-近似值|。

相对误差是绝对误差与真实值的比值,通常以百分比形式表示。

2. 误差限:误差限用于判断计算结果的精度是否符合要求。

通过估计误差限,我们可以评估结果的可靠性。

3. 误差传递:在多步计算中,误差会随着计算步骤的增加而积累。

误差传递分析可以帮助我们了解误差如何随着计算步骤的发展而增长。

4. 稳定性分析:稳定性分析是指研究初始数据的微小变化对结果的影响程度。

通过稳定性分析,我们可以评估计算方法的稳定性和可靠性。

三、误差修正策略1. 合理选取计算方法:不同的计算方法对误差的敏感性不同。

因此,在进行数值计算时,应选择合适的计算方法,以减少误差的引入。

2. 适当增加计算精度:增加计算精度可以减少舍入误差的影响。

在计算机程序中,可以使用更高的数据类型或者增加计算位数来提高计算精度。

3. 优化算法:优化算法可以通过改进计算流程或减小计算步骤来提高计算的精度和稳定性。

数值计算中的误差分析研究

数值计算中的误差分析研究

数值计算中的误差分析研究在数值计算中,误差是一个不可避免的问题。

无论是数学模型的建立还是计算方法的选择,都会引入不同程度的误差。

因此,对误差进行准确的分析和评估,对于保证计算结果的可靠性至关重要。

一、误差类型及来源分析在数值计算中,误差可分为四大类:截断误差、舍入误差、模型误差和数据误差。

下面将针对每一类误差进行详细的分析。

1. 截断误差截断误差是由于采用近似方法而引起的误差,主要来源于数值计算中尽可能使用有限计算量的方法。

常见的截断误差包括级数截断误差和差分截断误差。

级数截断误差是在将无穷级数截断为有限项时引入的误差,而差分截断误差则是在对导数或积分进行差分时产生的误差。

2. 舍入误差舍入误差是由于计算机无法进行无限精度的计算而引入的误差。

计算机在进行计算时都需要将浮点数转化为有限位的二进制表示,从而导致了舍入误差的出现。

常见的舍入误差包括绝对误差和相对误差。

绝对误差是实际值与近似值之间的差异,而相对误差是绝对误差与实际值之间的比率。

3. 模型误差模型误差是由于在数值计算中所采用的数学模型与实际问题之间存在差异而引入的误差。

在数学模型的建立过程中,通常会进行一系列的简化和假设,这些简化和假设都会对计算结果产生一定的影响。

模型误差的大小主要取决于模型的准确性和适用性。

4. 数据误差数据误差是由于实际测量或输入数据的有限精度而引入的误差。

无论是实验数据还是观测数据,在进行数值计算时都需要进行一定的近似处理,而这种近似处理往往会导致数据误差的产生。

数据误差的大小与测量设备的精度、数据采集的方法以及数据传输的过程有关。

二、误差分析方法与评估误差分析是对误差进行定量评估和分析的过程,其目的是确定误差的大小和对计算结果的影响程度。

常见的误差分析方法包括误差界定、误差传递和灵敏度分析等。

1. 误差界定误差界定是通过确定近似值与真实值之间的差异来评估误差的大小。

在数值计算中,常常使用绝对误差和相对误差来界定误差。

数值计算误差分析

数值计算误差分析

数值计算误差分析首先,数值计算误差可以分为两类:绝对误差和相对误差。

绝对误差是指计算结果与真实值之间的差异的绝对值,而相对误差是指绝对误差除以真实值的比值。

相对误差更能反映计算结果的精度,因为它能够将误差与计算结果的大小相比较。

另一个导致数值计算误差的因素是数值计算方法的近似性。

在进行数值计算时,我们通常使用数值方法来近似解析解,以便进行计算。

这些数值方法本身就是基于一些近似原理和假设,因此其计算结果与真实解之间会存在误差。

例如,如果我们使用数值积分方法来计算一个定积分,那么结果与解析解之间会存在误差。

此外,计算机中的运算也会引入数值计算误差。

计算机的运算是基于二进制系统进行的,而浮点数(即带有小数点的数字)在二进制系统中并不能完全准确地表示。

因此,在计算机进行浮点数计算时,会发生舍入误差。

舍入误差是由于计算机在进行浮点数运算时将结果截断或四舍五入导致的。

为了进行误差分析和处理,我们需要了解误差的产生方式和传播方式。

当我们进行复杂的数值计算时,误差会逐渐积累并影响计算结果的精度。

因此,我们需要通过误差传播分析来评估整个计算过程中的误差。

误差传播分析可以通过Taylor展开和线性化的方法来进行。

在误差传播分析中,我们通常使用误差的上界来估计误差的大小。

误差的上界是指在所有可能的情况下,误差可能达到的最大值。

通过计算误差的上界,我们可以得出一个数值计算结果的置信区间。

这个置信区间可以帮助我们评估计算结果的可靠性。

除了误差传播分析外,我们还可以使用数值稳定性分析来评估数值计算方法的稳定性。

数值稳定性是指计算方法在输入数据变化时计算结果的变化程度。

如果一个方法对输入数据变化非常敏感,那么它可能是不稳定的。

在进行数值计算时,我们应该选择稳定的计算方法,以减小误差的影响。

最后,为了减小数值计算误差,我们可以采取一些方法。

例如,可以增加测量仪器的精度,使用更精确的数值计算方法,增加计算的位数,或者对计算结果进行后处理等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16.971132243131219
16.048274533412592
14.935355760260174
14.065272732694492
12.949055715498519
12.033449121964885
10.984041283443625
10.006059681252784
8.998394492431256
13.020900961381477 - 1.910007774372236i
11.005811621312578 + 1.079673691789552i
11.005811621312578 - 1.079673691789552i
9.534179533344050
9.149055842080687
10.579256123739048 + 1.731493063745254i
10.579256123739048 - 1.731493063745254i
9.043189086659933 + 0.627187731283113i
9.043189086659933 - 0.627187731283113i
18.089822319023433 - 1.934269493726627i
15.479395537226310 + 2.328584758063258i
15.479395537226310 - 2.328584758063258i
13.020900961381477 + 1.910007774372236i
ans =
20.000324878101402
18.997159990805148
18.011221676102622
16.971132243131219
16.048274533412592
14.935355760260174
14.065272732694492
12.949055715498519
12.033449121964885
10.984041283443625
10.006059681252784
8.998394492431256
8.000284343435283
6.999973481009383
5.999999755869895
5.000000341909659
3.999999967630562
3.000000001049189
5.000000252943546
3.999999986038213
3.000000000495274
1.999999999995120
1.000000000000041
>> ess=0.00001;
ve=zeros(1,21);
ve(3)=ess;
format long
roots(poly(1:20))
实验报告
实验课程名称数值计算
实验项目名称误差分析
年级13 1专ຫໍສະໝຸດ 数学与应用数学学生姓名袁蕊
学号1307010239
理学院
实验时间:2015年3月5日
学生所在学院:理学院专业:数学与应用数学班级:131
姓名
袁蕊
学号
1307010239
实验组
实验时间
2015.3.5
指导教师
成绩
实验项目名称
数值计算
实验目的及要求:
15.528641019538458 + 1.259636872700843i
15.528641019538458 - 1.259636872700843i
13.295792683399245 + 1.031450133955301i
13.295792683399245 - 1.031450133955301i
ve=zeros(1,21);
ve(4)=ess;
format long
roots(poly(1:20)+ve)
ans =
20.066780837716514 + 0.675621086192061i
20.066780837716514 - 0.675621086192061i
18.089822319023433 + 1.934269493726627i
11.322136148339125 + 0.396885402401486i
11.322136148339125 - 0.396885402401486i
9.925745234477496
9.013636596973937
7.998546981465636
7.000107828689729
5.999994506487728
ve=zeros(1,21);
ve(5)=ess;
format long
roots(poly(1:20)+ve)
ans =
19.935085237857809
19.308102969825914
17.762820351097801 + 0.891414459930495i
17.762820351097801 - 0.891414459930495i
1.999999999997379
0.999999999999841
>> ess=0.00001;
ve=zeros(1,21);
ve(4)=ess;
format long
roots(poly(1:20))
ans =
20.000324878101402
18.997159990805148
18.011221676102622
2将方程(1.2)中的扰动项改成 或其它形式,实验结果不大,但相差不大。
3去掉ve实验结果不再出现复数根,此时结果更接近于原方程的实根。
指导教师意见:
签名:年月日
上述简单的MATLAB程序便得到(1.2)的全部根,程序中的“ess”即是(1.2)中的 。
实验内容(包括实验具体内容、算法分析、源代码等等):
>> ess=0.00001;
ve=zeros(1,21);
ve(3)=ess;
format long
>> roots(poly(1:20)+ve)
ans =
实验硬件及软件平台:
计算机
实验内容:
为了实现方便,我们先介绍两个MATLAB函数:“roots”和“poly”。
其中若变量a存储n+1维的向量,则该函数的输出u为一个n维的向量。设a的元素依次为 ,则输出u的各分量是多项式方程
的全部根;而函数
的输出b是一个n+1维向量,它是以n维向量v的各分量为根的多项式的系数。可见“roots”和“poly”是两个互逆的运算函数。
5.000000341909659
3.999999967630562
3.000000001049189
1.999999999997379
0.999999999999841
实验结果与讨论:
1选择充分小的ess,反复进行上述实验。如果扰动项的系数 很小,我们自然感觉(1.1)和(1.2)的解应当相差很小。计算中误差减小。表明有些解关于如此的扰动敏感性高
14.065272732694492
12.949055715498519
12.033449121964885
10.984041283443625
10.006059681252784
8.998394492431256
8.000284343435283
6.999973481009383
5.999999755869895
实验(或算法)要求:
问题提出:考虑一个高次的代数多项式
显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动
其中 是一个非常小的数。这相当于是对(1.1)中 的系数作一个小的扰动。我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。
7.990840160726711
7.000516189580724
5.999985687217670
5.000000026742335
4.000000006902648
3.000000000087040
1.999999999997269
0.999999999999848
>> ess=0.00001;
算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。
数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。
ve=zeros(1,21);
ve(5)=ess;
format long
roots(poly(1:20))
ans =
20.000324878101402
18.997159990805148
18.011221676102622
16.971132243131219
16.048274533412592
14.935355760260174
7.936882322513345
7.003674605106630
5.999904970016421
5.000000890376402
4.000000023813566
相关文档
最新文档