数值分析实验报告模板

合集下载

数值分析综合实验报告

数值分析综合实验报告

一、实验目的通过本次综合实验,掌握数值分析中常用的插值方法、方程求根方法以及数值积分方法,了解这些方法在实际问题中的应用,提高数值计算能力。

二、实验内容1. 插值方法(1)拉格朗日插值法:利用已知数据点构造多项式,以逼近未知函数。

(2)牛顿插值法:在拉格朗日插值法的基础上,通过增加基函数,提高逼近精度。

2. 方程求根方法(1)二分法:适用于函数在区间内有正负值的情况,通过不断缩小区间来逼近根。

(2)Newton法:利用函数的导数信息,通过迭代逼近根。

(3)不动点迭代法:将方程转化为不动点问题,通过迭代逼近根。

3. 数值积分方法(1)矩形法:将积分区间等分,近似计算函数值的和。

(2)梯形法:将积分区间分成若干等分,用梯形面积近似计算积分。

(3)辛普森法:在梯形法的基础上,将每个小区间再等分,提高逼近精度。

三、实验步骤1. 拉格朗日插值法(1)输入已知数据点,构造拉格朗日插值多项式。

(2)计算插值多项式在未知点的函数值。

2. 牛顿插值法(1)输入已知数据点,构造牛顿插值多项式。

(2)计算插值多项式在未知点的函数值。

3. 方程求根方法(1)输入方程和初始值。

(2)选择求解方法(二分法、Newton法、不动点迭代法)。

(3)迭代计算,直到满足精度要求。

4. 数值积分方法(1)输入被积函数和积分区间。

(2)选择积分方法(矩形法、梯形法、辛普森法)。

(3)计算积分值。

四、实验结果与分析1. 插值方法(1)拉格朗日插值法:通过构造多项式,可以较好地逼近已知数据点。

(2)牛顿插值法:在拉格朗日插值法的基础上,增加了基函数,提高了逼近精度。

2. 方程求根方法(1)二分法:适用于函数在区间内有正负值的情况,计算简单,但收敛速度较慢。

(2)Newton法:利用函数的导数信息,收敛速度较快,但可能存在数值不稳定问题。

(3)不动点迭代法:将方程转化为不动点问题,收敛速度较快,但可能存在初始值选择不当的问题。

3. 数值积分方法(1)矩形法:计算简单,但精度较低。

数值分析实验报告二

数值分析实验报告二

数值实验报告二一、实验名称解线性方程组的列主元素高斯消去法和LU 分解法二、实验目的通过数值实验,从中体会解线性方程组选主元的必要性和LU 分解法的优点,以及方程组系数矩阵和右端向量的微小变化对解向量的影响。

三、实验内容解下列两个线性方程组(1) ⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛--11134.981.4987.023.116.427.199.103.601.3321x x x (2) ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----15900001.582012151526099999.23107104321x x x x 四、算法描述1、 列主元素高斯消去法记: ij ij a a =1)( (i, j = 1,2,3n )i i b b =1)( (i = 1,2,3n )消元过程:对于k = 1,2,3n(1) 选行号k i ,使)()(max k i ni k k k i k k a a ≤≤=。

(2) 交换)(k kj a 与)(k j i k a (j = k, k+1,k+2n )以及)()(k i k k k b b 与所含的数值。

(3)对于i = k, k+1,k+2n ,计算)()(k kkk ik ik a a m =)()()1(k kj ik k ij k ij a m a a -=+ (j = k, k+1,k+2n ))()()1(k k ik k i k i b m b b -=+回代过程:)(n nnn n a b x = )()1)()(/(k kk j n k j k kj k k k a x a a x ∑+=-= (k = n-1, n-2, n-3 1 )在此算法中的)(k k i k a 称为第k 个列主元素,它的数值总要被交换到第k 个主对角线元素的位置上。

2、 LU 分解法通过MATLAB 自有的函数,把系数矩阵A 分解成A=LU ,其中:L 是下三角矩阵,U 是上三角矩阵,这时方程组Ax=b 就可以分解成两个容易求解的三角形方程组Ly=b ,Ux=y 。

数值分析积分实验报告(3篇)

数值分析积分实验报告(3篇)

第1篇一、实验目的本次实验旨在通过数值分析的方法,研究几种常见的数值积分方法,包括梯形法、辛普森法、复化梯形法和龙贝格法,并比较它们在计算精度和效率上的差异。

通过实验,加深对数值积分理论和方法的理解,提高编程能力和实际问题解决能力。

二、实验内容1. 梯形法梯形法是一种基本的数值积分方法,通过将积分区间分割成若干个梯形,计算梯形面积之和来近似积分值。

实验中,我们选取了几个不同的函数,对积分区间进行划分,计算积分近似值,并与实际积分值进行比较。

2. 辛普森法辛普森法是另一种常见的数值积分方法,它通过将积分区间分割成若干个等距的区间,在每个区间上使用二次多项式进行插值,然后计算多项式与x轴围成的面积之和来近似积分值。

实验中,我们对比了辛普森法和梯形法的计算结果,分析了它们的精度差异。

3. 复化梯形法复化梯形法是对梯形法的一种改进,通过将积分区间分割成多个小区间,在每个小区间上使用梯形法进行积分,然后计算所有小区间积分值的和来近似积分值。

实验中,我们对比了复化梯形法和辛普森法的计算结果,分析了它们的精度和效率。

4. 龙贝格法龙贝格法是一种通过外推加速提高计算精度的数值积分方法。

它通过比较使用不同点数(n和2n)的积分结果,得到更高精度的积分结果。

实验中,我们使用龙贝格法对几个函数进行积分,并与其他方法进行了比较。

三、实验步骤1. 编写程序实现梯形法、辛普森法、复化梯形法和龙贝格法。

2. 选取几个不同的函数,对积分区间进行划分。

3. 使用不同方法计算积分近似值,并与实际积分值进行比较。

4. 分析不同方法的精度和效率。

四、实验结果与分析1. 梯形法梯形法在计算精度上相对较低,但当积分区间划分足够细时,其计算结果可以接近实际积分值。

2. 辛普森法辛普森法在计算精度上优于梯形法,但当积分区间划分较细时,计算量较大。

3. 复化梯形法复化梯形法在计算精度上与辛普森法相当,但计算量较小。

4. 龙贝格法龙贝格法在计算精度上优于复化梯形法,且计算量相对较小。

数值分析实验报告

数值分析实验报告

一、实验目的1. 理解数值分析的基本概念和常用算法;2. 掌握数值方法在求解实际问题中的应用;3. 培养编程能力,提高对数值分析软件的使用熟练度。

二、实验内容本次实验主要涉及以下内容:1. 拉格朗日插值法;2. 牛顿插值法;3. 线性方程组的求解方法;4. 方程求根的数值方法;5. 最小二乘法曲线拟合。

三、实验步骤1. 拉格朗日插值法(1)输入数据:给定一组数据点(x1, y1)、(x2, y2)、...、(xn, yn)。

(2)计算拉格朗日插值多项式L(x)。

(3)利用L(x)计算待求点x0的函数值y0。

2. 牛顿插值法(1)输入数据:给定一组数据点(x1, y1)、(x2, y2)、...、(xn, yn)。

(2)计算牛顿插值多项式N(x)。

(3)利用N(x)计算待求点x0的函数值y0。

3. 线性方程组的求解方法(1)输入数据:给定线性方程组的系数矩阵A和常数向量b。

(2)采用高斯消元法求解线性方程组Ax=b。

4. 方程求根的数值方法(1)输入数据:给定函数f(x)和初始值x0。

(2)采用二分法求解方程f(x)=0的根。

5. 最小二乘法曲线拟合(1)输入数据:给定一组数据点(x1, y1)、(x2, y2)、...、(xn, yn)。

(2)建立线性最小二乘模型y=F(x)。

(3)利用最小二乘法求解模型参数。

四、实验结果与分析1. 拉格朗日插值法与牛顿插值法的比较通过实验,我们发现牛顿插值法的精度高于拉格朗日插值法。

这是因为牛顿插值法在计算过程中考虑了前一项的导数信息,从而提高了插值多项式的平滑性。

2. 线性方程组的求解方法高斯消元法在求解线性方程组时,计算过程较为繁琐,但稳定性较好。

在实际应用中,可根据具体问题选择合适的方法。

3. 方程求根的数值方法二分法在求解方程时,收敛速度较慢,但具有较好的稳定性。

对于初始值的选择,应尽量接近真实根。

4. 最小二乘法曲线拟合最小二乘法在拟合曲线时,误差较小,适用于数据点较多的情况。

数值分析实验报告模板

数值分析实验报告模板

数值分析实验报告模板篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。

本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。

利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。

即若x0 偏离所求根较远,Newton法可能发散的结论。

并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。

前言:(目的和意义)掌握二分法与Newton法的基本原理和应用。

掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收敛,但精度不够。

熟悉Matlab语言编程,学习编程要点。

体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。

数学原理:对于一个非线性方程的数值解法很多。

在此介绍两种最常见的方法:二分法和Newton法。

对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk)产生逼近解x*的迭代数列{xk},这就是Newton法的思想。

当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。

另外,若将该迭代公式改进为xk?1?xk?rf(xk) 'f(xk)其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。

程序设计:本实验采用Matlab的M文件编写。

其中待求解的方程写成function的方式,如下function y=f(x);y=-x*x-sin(x);写成如上形式即可,下面给出主程序。

数值分析实验报告(一)(完整)

数值分析实验报告(一)(完整)
其中 有关.
Newton插值伪代码:
/*输入参数
*x=(x0,x1….,xn),插值节点
*y=(y0,y1,…,yn);被插函数f(x)在插值节点处的函数值
*t求插值函数Pn(x)在t处的函数值
*返回值插值函数Pn(x)在t处的函数值
*/
procedureNewton
forj=0to n
d1jyj;
fori=j:n
d(i,j)=(d(i,j-1)-d(i-1,j-1))./(x0(i)-x0(i-j+1));%求差商表矩阵中各值
end
end
fork=1:m
z=x(k);
result=d(1,1);
temp=1;
fori=2:n
temp=temp*(z-x0(i-1));
result=result+d(i,i)*temp;
ifi≠j
li(t)li(t)*(t-xi)/(xi-xj);
endif
endfor
resultresult+yi*li(t) ;
endfor
returnresult;
end procedure
Lagrange插值子程序lagr1:
functiony=lagr1(x0,y0,x)%x0为插值点的向量,y0为插值点处的函数值向量,x为未知的点向量
数值分析实验报告
姓名
学号
系别
数学系
班级
09信息(2)班
主讲教师
王丹
指导教师
王丹
实验日期
专业
信息与计算科学
课程名称
数值分析
同组实验者

一、实验名称:
实验一、插值多项式的收敛性实验

数值分析绪论实验报告

数值分析绪论实验报告

一、实验目的1. 了解数值分析的基本概念和主要内容;2. 掌握数值计算的基本方法,如插值、求根、数值积分等;3. 培养使用计算机进行数值计算的能力;4. 增强对数值分析在实际问题中的应用意识。

二、实验内容1. 插值法:拉格朗日插值、牛顿插值;2. 求根法:二分法、牛顿法、不动点迭代法;3. 数值积分:矩形法、梯形法、辛普森法。

三、实验步骤1. 插值法实验(1)编写拉格朗日插值程序,以x1, x2, ..., xn为节点,y1, y2, ..., yn为函数值,求插值多项式P(x)。

(2)编写牛顿插值程序,以x1, x2, ..., xn为节点,y1, y2, ..., yn为函数值,求插值多项式P(x)。

2. 求根法实验(1)编写二分法程序,求方程f(x) = 0在区间[a, b]上的根。

(2)编写牛顿法程序,求方程f(x) = 0在初始值x0附近的根。

(3)编写不动点迭代法程序,求方程f(x) = 0在初始值x0附近的根。

3. 数值积分实验(1)编写矩形法程序,求定积分∫f(x)dx在区间[a, b]上的近似值。

(2)编写梯形法程序,求定积分∫f(x)dx在区间[a, b]上的近似值。

(3)编写辛普森法程序,求定积分∫f(x)dx在区间[a, b]上的近似值。

四、实验结果与分析1. 插值法实验(1)使用拉格朗日插值法,以x1, x2, ..., xn为节点,y1, y2, ..., yn为函数值,求插值多项式P(x)。

(2)使用牛顿插值法,以x1, x2, ..., xn为节点,y1, y2, ..., yn为函数值,求插值多项式P(x)。

2. 求根法实验(1)使用二分法,求方程f(x) = 0在区间[a, b]上的根。

(2)使用牛顿法,求方程f(x) = 0在初始值x0附近的根。

(3)使用不动点迭代法,求方程f(x) = 0在初始值x0附近的根。

3. 数值积分实验(1)使用矩形法,求定积分∫f(x)dx在区间[a, b]上的近似值。

数值分析实验报告5篇

数值分析实验报告5篇

误差分析实验1.1(问题)实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。

对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。

通过本实验可获得一个初步体会。

数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。

病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。

问题提出:考虑一个高次的代数多项式)1.1()()20()2)(1()(201∏=-=---=k k x x x x x p显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。

现考虑该多项式的一个扰动)2.1(0)(19=+x x p ε其中ε是一个非常小的数。

这相当于是对(1.1)中19x 的系数作一个小的扰动。

我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。

实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。

roots(a)u =其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。

设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程01121=+++++-n n n n a x a x a x a的全部根;而函数poly(v)b =的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。

可见“roots ”和“poly ”是两个互逆的运算函数。

;000000001.0=ess );21,1(zeros ve = ;)2(ess ve =))20:1((ve poly roots +上述简单的Matlab 程序便得到(1.2)的全部根,程序中的“ess ”即是(1.2)中的ε。

实验要求:(1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析实验报告模板篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。

本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。

利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。

即若x0 偏离所求根较远,Newton法可能发散的结论。

并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。

前言:(目的和意义)掌握二分法与Newton法的基本原理和应用。

掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收敛,但精度不够。

熟悉Matlab语言编程,学习编程要点。

体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。

数学原理:对于一个非线性方程的数值解法很多。

在此介绍两种最常见的方法:二分法和Newton法。

对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk)产生逼近解x*的迭代数列{xk},这就是Newton法的思想。

当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。

另外,若将该迭代公式改进为xk?1?xk?rf(xk) 'f(xk)其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。

程序设计:本实验采用Matlab的M文件编写。

其中待求解的方程写成function的方式,如下function y=f(x);y=-x*x-sin(x);写成如上形式即可,下面给出主程序。

二分法源程序:clear%%%给定求解区间b=;a=0;%%%误差R=1;k=0;%迭代次数初值while (R>5e-6) ;c=(a+b)/2;if f12(a)*f12(c)>0;a=c;elseb=c;endR=b-a;%求出误差k=k+1;endx=c%给出解Newton法及改进的Newton法源程序:clear%%%% 输入函数f=input('请输入需要求解函数>>','s')%%%求解f(x)的导数df=diff(f);%%%改进常数或重根数miu=2;%%%初始值x0x0=input('input initial value x0>>');k=0;%迭代次数max=100;%最大迭代次数R=eval(subs(f,'x0','x'));%求解f(x0),以确定初值x0时否就是解while (abs(R)>1e-8)x1=x0-miu*eval(subs(f,'x0','x'))/eval(subs(df,'x0', 'x'));R=x1-x0;x0=x1;k=k+1;if (eval(subs(f,'x0','x')) breakendif k>max;%如果迭代次数大于给定值,认为迭代不收敛,重新输入初值ss=input('maybe result is error,choose a new x0,y/n?>>','s');if strcmp(ss,'y')x0=input('input initial value x0>>');k=0;elsebreakendendendk;%给出迭代次数x=x0;%给出解结果分析和讨论:x2?0在[1,2]内的根。

(??5*10?6,下同) 1. 用二分法计算方程sinx?2计算结果为x= ;f(x)= -;k=18;由f(x)知结果满足要求,但迭代次数比较多,方法收敛速度比较慢。

2. 用二分法计算方程x3?x?1?0在[1,]内的根。

计算结果为x= ;f(x)= ;k=17;由f(x)知结果满足要求,但迭代次数还是比较多。

3. 用Newton法求解下列方程a) xex?1?0 x0=;计算结果为x= ;f(x)= ;k=4;由f(x)知结果满足要求,而且又迭代次数只有4次看出收敛速度很快。

b) x3?x?1?0 x0=1;c) (x?1)2(2x?1)?0 x0=, x0=;当x0=时,计算结果为x= ;f(x)= -;k=4;由f(x)知结果满足要求,而且又迭代次数只有4次看出收敛速度很快,实际上该方程确实有真解x=。

当x0=时,计算结果为x= ;f(x)=0;k=9;由f(x)知结果满足要求,实际上该方程确实有真解x=,但迭代次数增多,实际上当取x0〉时,x≈1,就变成了方程的另一个解,这说明Newton法收敛与初值很有关系,有的时候甚至可能不收敛。

4. 用改进的Newton法求解,有2重根,取??2(x?1)2(2x?1)?0 x0=;并与3.中的c)比较结果。

当x0=时,程序死循环,无法计算,也就是说不收敛。

改??时,结果收敛为x=;f(x)=;k=16;显然这个结果不是很好,而且也不是收敛至方程的2重根上。

当x0=时,结果收敛为x= ;f(x)= ;k=4;这次达到了预期的结果,这说明初值的选取很重要,直接关系到方法的收敛性,实际上直接用Newton法,在给定同样的条件和精度要求下,可得其迭代次数k=15,这说明改进后的Newton法法速度确实比较快。

结论:对于二分法,只要能够保证在给定的区间内有根,使能够收敛的,当时收敛的速度和给定的区间有关,二且总体上来说速度比较慢。

Newton法,收敛速度要比二分法快,但是最终其收敛的结果与初值的选取有关,初值不同,收敛的结果也可能不一样,也就是结果可能不是预期需要的结果。

改进的Newton法求解重根问题时,如果初值不当,可能会不收敛,这一点非常重要,当然初值合适,相同情况下其速度要比Newton法快得多。

在编制程序过程中,需事先规定迭代的次数,若超过这个次数,还不收敛,则停止迭代,另选初值。

篇三:数值分析实验报告5篇误差分析实验(问题)实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。

对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。

通过本实验可获得一个初步体会。

数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。

病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。

问题提出:考虑一个高次的代数多项式p(x)?(x?1)(x?2)?(x?20)??(x?k)k?120()显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。

现考虑该多项式的一个扰动p(x)??x19?0()其中?是一个非常小的数。

这相当于是对()中x19的系数作一个小的扰动。

我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。

实验内容:为了实现方便,我们先介绍两个Matlab函数:“roots”和“poly”。

u?roots(a)其中若变量a存储n+1维的向量,则该函数的输出u为一个n维的向量。

设a的元素依次为a1,a2,?,an?1,则输出u的各分量是多项式方程a1xn?a2xn?1???anx?an?1?0 的全部根;而函数b?poly(v)的输出b是一个n+1维变量,它是以n维变量v的各分量为根的多项式的系数。

可见“roots”和“poly”是两个互逆的运算函数。

ess?; ve?zeros(1,21); ve(2)?ess;roots(poly(1:20)?ve)上述简单的Matlab程序便得到()的全部根,程序中的“ess”即是()中的?。

实验要求:(1)选择充分小的ess,反复进行上述实验,记录结果的变化并分析它们。

如果扰动项的系数?很小,我们自然感觉()和()的解应当相差很小。

计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何?(2)将方程()中的扰动项改成?x18或其它形式,实验中又有怎样的现象出现?(3)(选作部分)请从理论上分析产生这一问题的根源。

注意我们可以将方程()写成展开的形式,p(x,?)?x20??x19???0()同时将方程的解x看成是系数?的函数,考察方程的某个解关于?的扰动是否敏感,与研究它关于?的导数的大小有何关系?为什么?你发现了什么现象,哪些根关于?的变化更敏感?思考题一:(上述实验的改进)在上述实验中我们会发现用roots函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab的帮助。

实验过程:程序:a=poly(1:20); rr=roots(a); for n=2:21 nfor m=1:9ess=10^(-6-m);ve=zeros(1,21);ve(n)=ess;r=roots(a+ve);-6-ms=max(abs(r-rr)) end end利用符号函数:(思考题一) a=poly(1:20);y=poly2sym(a); rr=solve(y) for n=2:21 nfor m=1:8ess=10^(-6-m);ve=zeros(1,21);ve(n)=ess;a=poly(1:20)+ve;y=poly2sym(a);r=solve(y);-6-m s=max(abs(r-rr)) end end数值实验结果及分析:讨论:利用这种方法进行这类实验,可以很精确的扰动敏感性的一般规律。

即当对扰动项的系数越来越小时,对其多项式扰动的结果也就越来越小,即扰动敏感性与扰动项的系数成正比,扰动项的系数越大,对其根的扰动敏感性就越明显,当扰动的系数一定时,扰动敏感性与扰动的项的幂数成正比,扰动的项的幂数越高,对其根的扰动敏感性就越明显。

实验总结:利用MATLAB来进行病态问题的实验,虽然其得出的结果是有误差的,但是可以很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。

相关文档
最新文档