数值分析实验

合集下载

数值分析实验报告

数值分析实验报告

数值分析实验报告【引言】数值分析是一门研究利用计算机和数学方法解决实际问题的学科,它在工程、科学和经济领域中有着广泛的应用。

在这个实验报告中,我将分享我在数值分析实验中的一些发现和结果。

【实验目的】本次实验的目的是通过数值方法对给定的问题进行求解,并分析数值方法的精确性和稳定性。

我们选择了经典的插值和数值积分问题来进行实验。

【实验过程】在插值问题中,我使用了拉格朗日插值和样条插值两种方法。

通过使用已知的数据点,这些方法能够通过构造多项式函数来逼近原始函数,从而能够在未知点上进行预测。

通过比较两种插值方法的结果,我发现拉格朗日插值在低维数据上表现更好,而样条插值在高维数据上更能保持插值曲线的平滑性。

在数值积分问题中,我使用了复合梯形公式和复合辛普森公式来进行数值积分。

这两种方法可以将复杂的区间上的积分问题转化为对若干个小区间进行数值积分的问题。

实验结果表明,复合辛普森公式在使用相同的步长时,其数值积分结果更为精确。

【实验结果】我以一个实际问题作为例子来展示实验结果。

问题是计算半径为1的圆的面积。

通过离散化的方法,我将圆划分为多个小的扇形区域,并使用数值积分方法计算每个扇形的面积。

最后将每个扇形的面积相加,即可得到圆的近似面积。

通过调整离散化的精度,我发现随着扇形数量的增加,计算得到的圆的面积越接近真实的圆的面积。

在插值问题中,我选择了一段经典的函数进行插值研究。

通过选择不同的插值节点和插值方法,我发现当插值节点越密集时,插值结果越接近原函数。

同时,样条插值方法在高阶导数连续的情况下能够更好地逼近原始函数。

【实验总结】通过这次实验,我对数值分析中的插值和数值积分方法有了更深入的理解。

我了解到不同的数值方法在不同的问题中有着不同的适用性和精确度。

在实际应用中,我们需要根据具体问题选择合适的数值方法,并进行必要的数值计算和分析,以获得准确可靠的结果。

总的来说,数值分析作为一种重要的工具和方法,在科学研究和工程实践中具有广泛的应用,并且不断发展和创新。

数值分析综合实验报告

数值分析综合实验报告

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

二、实验内容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)矩形法:计算简单,但精度较低。

东北大学数值分析实验报告

东北大学数值分析实验报告

数值分析实验班级 姓名 学号实验环境: MATLAB实验一 解线性方程组的迭代法(1)一、实验题目 对以下方程组分别采用Jacobi 迭代法, Gaaus-Seidel 迭代法求解和SOR 迭代法求解。

(2)线性方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--------------------------13682438141202913726422123417911101610352431205362177586832337616244911315120130123122400105635680000121324⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡10987654321x x x x x x x x x x =⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-2119381346323125 (2)对称正定线性方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡----------------------1924336021411035204111443343104221812334161206538114140231212200420424⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡87654321x x x x x x x x =⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---4515221123660(3)三对角线性方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡------------------4100000000141000000001410000000014100000000141000000001410000000014100000000141000000001410000000014⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡10987654321x x x x x x x x x x =⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡----5541412621357 二、实验要求(1)应用迭代法求线性方程组, 并与直接法作比较。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第1篇在数值分析这门课程的学习过程中,我深刻体会到了理论知识与实践操作相结合的重要性。

通过一系列的实验,我对数值分析的基本概念、方法和应用有了更加深入的理解。

以下是我对数值分析实验的心得体会。

一、实验目的与意义1. 巩固数值分析理论知识:通过实验,将课堂上学到的理论知识应用到实际问题中,加深对数值分析概念和方法的理解。

2. 培养实际操作能力:实验过程中,我学会了使用Matlab等软件进行数值计算,提高了编程能力。

3. 增强解决实际问题的能力:实验项目涉及多个领域,通过解决实际问题,提高了我的问题分析和解决能力。

4. 培养团队协作精神:实验过程中,我与同学们分工合作,共同完成任务,培养了团队协作精神。

二、实验内容及方法1. 实验一:拉格朗日插值法与牛顿插值法(1)实验目的:掌握拉格朗日插值法和牛顿插值法的原理,能够运用这两种方法进行函数逼近。

(2)实验方法:首先,我们选择一组数据点,然后利用拉格朗日插值法和牛顿插值法构造插值多项式。

最后,我们将插值多项式与原始函数进行比较,分析误差。

2. 实验二:方程求根(1)实验目的:掌握二分法、Newton法、不动点迭代法、弦截法等方程求根方法,能够运用这些方法求解非线性方程的根。

(2)实验方法:首先,我们选择一个非线性方程,然后运用二分法、Newton法、不动点迭代法、弦截法等方法求解方程的根。

最后,比较不同方法的收敛速度和精度。

3. 实验三:线性方程组求解(1)实验目的:掌握高斯消元法、矩阵分解法等线性方程组求解方法,能够运用这些方法求解线性方程组。

(2)实验方法:首先,我们构造一个线性方程组,然后运用高斯消元法、矩阵分解法等方法求解方程组。

最后,比较不同方法的计算量和精度。

4. 实验四:多元统计分析(1)实验目的:掌握多元统计分析的基本方法,能够运用这些方法对数据进行分析。

(2)实验方法:首先,我们收集一组多元数据,然后运用主成分分析、因子分析等方法对数据进行降维。

数值分析原理实验报告

数值分析原理实验报告

一、实验目的通过本次实验,掌握数值分析的基本原理和方法,了解数值分析在科学和工程领域的应用,培养动手能力和分析问题的能力。

二、实验内容1. 二分法求方程根(1)原理:二分法是一种在实数域上寻找函数零点的算法。

对于连续函数f(x),如果在区间[a, b]上f(a)f(b)<0,则存在一个根在区间(a, b)内。

二分法的基本思想是将区间[a, b]不断二分,缩小根所在的区间,直到满足精度要求。

(2)实验步骤:① 输入函数f(x)和精度要求;② 初始化区间[a, b]和中间点c=a+(b-a)/2;③ 判断f(c)与f(a)的符号,若符号相同,则将区间缩小为[a, c],否则缩小为[c,b];④ 重复步骤②和③,直到满足精度要求;⑤ 输出根的近似值。

2. 牛顿法求方程根(1)原理:牛顿法是一种在实数域上寻找函数零点的算法。

对于可导函数f(x),如果在点x0附近,f(x0)f'(x0)≠0,则存在一个根在点x0附近。

牛顿法的基本思想是通过泰勒展开近似函数,然后求解近似方程的根。

(2)实验步骤:① 输入函数f(x)和精度要求;② 初始化迭代次数n=0,近似根x0;③ 计算导数f'(x0);④ 求解近似方程x1=x0-f(x0)/f'(x0);⑤ 判断|x1-x0|是否满足精度要求,若满足,则停止迭代;否则,将x0更新为x1,n=n+1,返回步骤③。

3. 雅可比迭代法解线性方程组(1)原理:雅可比迭代法是一种解线性方程组的迭代算法。

对于线性方程组Ax=b,雅可比迭代法的基本思想是利用矩阵A的对角线元素将方程组分解为多个一元线性方程,然后逐个求解。

(2)实验步骤:① 输入系数矩阵A和常数向量b;② 初始化迭代次数n=0,近似解向量x0;③ 计算对角线元素d1, d2, ..., dn;④ 更新近似解向量x1=x0-A/d1, x2=x0-A/d2, ..., xn=x0-A/dn;⑤ 判断|x1-x0|是否满足精度要求,若满足,则停止迭代;否则,将x0更新为x1, x2, ..., xn,n=n+1,返回步骤③。

数值分析实验报告

数值分析实验报告

数值分析实验报告篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告数值分析实验报告课题一:解线性方程组的直接方法1.实验目的:1、通过该课题的实验,体会模块化结构程序设计方法的优点;2、运用所学的计算方法,解决各类线性方程组的直接算法;3、提高分析和解决问题的能力,做到学以致用;4、通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特点。

2.实验过程:实验代码:#include &quot;stdio.h&quot;#include &quot;math.h&quot;#includeiostreamusing namespace std;//Gauss法void lzy(double **a,double *b,int n) {int i,j,k;double l,x[10],temp;for(k=0;kn-1;k++){for(j=k,i=k;jn;j++){if(j==k)temp=fabs(a[j][k]);else if(tempfabs(a[j][k])){temp=fabs(a[j][k]);i=j;}}if(temp==0){cout&quot;无解\n; return;}else{for(j=k;jn;j++){temp=a[k][j];a[k][j]=a[i][j];a[i][j]=temp;}temp=b[k];b[k]=b[i];b[i]=temp;}for(i=k+1;in;i++) {l=a[i][k]/a[k][k];for(j=k;jn;j++)a[i][j]=a[i][j]-l*a[k][j]; b[i]=b[i]-l*b[k];}if(a[n-1][n-1]==0){cout&quot;无解\n;return;}x[n-1]=b[n-1]/a[n-1][n-1];for(i=n-2;i=0;i--){temp=0;for(j=i+1;jn;j++)temp=temp+a[i][j]*x[j];x[i]=(b[i]-temp)/a[i][i];}for(i=0;in;i++){printf(&quot;x%d=%lf\t&quot;,i+1,x[i]); printf(&quot;\n&quot;);}}//平方根法void pfg(double **a,double *b,int n)int i,k,m;double x[8],y[8],temp;for(k=0;kn;k++){temp=0;for(m=0;mk;m++)temp=temp+pow(a[k][m],2);if(a[k][k]temp)return;a[k][k]=pow((a[k][k]-temp),1.0/2.0);for(i=k+1;in;i++){temp=0;for(m=0;mk;m++)temp=temp+a[i][m]*a[k][m]; a[i][k]=(a[i][k]-temp)/a[k][k]; }temp=0;for(m=0;mk;m++)temp=temp+a[k][m]*y[m];y[k]=(b[k]-temp)/a[k][k];}x[n-1]=y[n-1]/a[n-1][n-1];for(k=n-2;k=0;k--){temp=0;for(m=k+1;mn;m++)temp=temp+a[m][k]*x[m];x[k]=(y[k]-temp)/a[k][k];}for(i=0;in;i++){printf(&quot;x%d=%lf\t&quot;,i+1,x[i]);printf(&quot;\n&quot;);}}//追赶法void zgf(double **a,double *b,int n){int i;double a0[10],c[10],d[10],a1[10],b1[10],x[10],y[10]; for(i=0;in;i++){a0[i]=a[i][i];if(in-1)c[i]=a[i][i+1];if(i0)d[i-1]=a[i][i-1];}a1[0]=a0[0];for(i=0;in-1;i++){b1[i]=c[i]/a1[i];a1[i+1]=a0[i+1]-d[i+1]*b1[i];}y[0]=b[0]/a1[0];for(i=1;in;i++)y[i]=(b[i]-d[i]*y[i-1])/a1[i];x[n-1]=y[n-1];for(i=n-2;i=0;i--)x[i]=y[i]-b1[i]*x[i+1];for(i=0;in;i++){printf(&quot;x%d=%lf\t&quot;,i+1,x[i]); printf(&quot;\n&quot;);}}int main(){int n,i,j;double **A,**B,**C,*B1,*B2,*B3;A=(double **)malloc(n*sizeof(double)); B=(double **)malloc(n*sizeof(double));C=(double **)malloc(n*sizeof(double));B1=(double *)malloc(n*sizeof(double));B2=(double *)malloc(n*sizeof(double));B3=(double *)malloc(n*sizeof(double));for(i=0;in;i++){A[i]=(double *)malloc((n)*sizeof(double));B[i]=(double*)malloc((n)*sizeof(double));C[i]=(double*)malloc((n)*sizeof(double)); }cout&quot;第一题(Gauss列主元消去法):&quot;endlendl; cout&quot;请输入阶数n:&quot;endl;cinn;cout&quot;\n请输入系数矩阵:\n\n&quot;;for(i=0;in;i++)for(j=0;jn;j++){篇三:数值分析实验报告(包含源程序) 课程实验报告课程实验报告。

数值分析实验报告总结

数值分析实验报告总结

一、实验背景数值分析是研究数值计算方法及其理论的学科,是计算机科学、数学、物理学等领域的重要基础。

为了提高自身对数值分析理论和方法的理解,我们进行了数值分析实验,通过实验加深对理论知识的掌握,提高实际操作能力。

二、实验目的1. 理解数值分析的基本理论和方法;2. 掌握数值分析实验的基本步骤和技巧;3. 培养实验设计和数据分析能力;4. 提高编程和计算能力。

三、实验内容本次实验主要分为以下几个部分:1. 线性方程组求解实验:通过高斯消元法、LU分解法等求解线性方程组,并分析算法的稳定性和误差;2. 矩阵特征值问题计算实验:利用幂法、逆幂法等计算矩阵的特征值和特征向量,分析算法的收敛性和精度;3. 非线性方程求根实验:运用二分法、牛顿法、不动点迭代法等求解非线性方程的根,比较不同算法的优缺点;4. 函数插值实验:运用拉格朗日插值、牛顿插值等方法对给定的函数进行插值,分析插值误差;5. 常微分方程初值问题数值解法实验:运用欧拉法、改进的欧拉法、龙格-库塔法等求解常微分方程初值问题,比较不同算法的稳定性和精度。

四、实验过程1. 线性方程组求解实验:首先,编写程序实现高斯消元法、LU分解法等算法;然后,对给定的线性方程组进行求解,记录计算结果;最后,分析算法的稳定性和误差。

2. 矩阵特征值问题计算实验:编写程序实现幂法、逆幂法等算法;然后,对给定的矩阵进行特征值和特征向量的计算,记录计算结果;最后,分析算法的收敛性和精度。

3. 非线性方程求根实验:编写程序实现二分法、牛顿法、不动点迭代法等算法;然后,对给定的非线性方程进行求根,记录计算结果;最后,比较不同算法的优缺点。

4. 函数插值实验:编写程序实现拉格朗日插值、牛顿插值等方法;然后,对给定的函数进行插值,记录计算结果;最后,分析插值误差。

5. 常微分方程初值问题数值解法实验:编写程序实现欧拉法、改进的欧拉法、龙格-库塔法等算法;然后,对给定的常微分方程初值问题进行求解,记录计算结果;最后,比较不同算法的稳定性和精度。

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

《数值分析》实验一、 实验报告要求实验报告主要包括以下内容:1. 实验题目 2. 实验目的3. 简述实验的原理与方法 4. 主要算法 5. 实验结果与分析从以下实验题目中选择2个实验,按以上要求完成实验报告提交实验报告的电子文档和打印稿。

二、 实验题目1、 数值积分与数值微分问题1 对下面你知道答案的几个例子,比较三种方法的精度。

在每种情况下,分别计算近似值与误差=近似值-真值。

⎰20cos .πxdx a ⎰+10)12(.dx x b ⎰-202)4(.dx x c ⎰-+-3123)3.065(.dx x x x d取同样的2n m =比较每种方法误差的大小,并观察每种方法随n 增加一倍时对误差大小的影响。

提示:通过对各种方法计算比值()/(2)Error n Error n 跟踪近似值的改进。

问题2 计算1⎰-,你能否得到2π的近似值?如果每次加倍m 值,对每种方法你需要多大的m 值可以得到精确到第2、3、4等小数位的π值?也可试试10,100,1000m =。

思考:为什么被积函数需要带上绝对值? 问题3 数值积分应用于求解积分方程。

(1)3212014525()()()18(1)x x x y x x y t dt t x +-+=-+++⎰,其精确解21()(1)y x x =+(2)2212011()()()24xe e y x t x y t dt e x ⎛⎫-+=-++- ⎪⎝⎭⎰,其精确解2()xy x e = 分别用梯形公式、Simpson 公式和三点Gauss 求积公式去离散积分方程中的积分项,并求解以上积分方程,得到其解函数的近似表达式,分析比较结果。

问题4 学会用数值微分方法求解偏微分方程。

在单位正方形上有偏微分方程。

222222()u uxy x y x y∂∂+=+∂∂, 定解条件是:(0,)(,0)0u y u x ==; 33(1,)6;(,1)6u y y u x x ==分别取5,10,15N =把单位正方形划分成N N ⨯个小格子,并把格子线的交点编号(,)i j ,记,(,)i j i j u x y u =。

用数值微分公式建立关于,i j u 的线性代数方程组,并求解。

该方程的精确解是3(,)()/6u x y xy =。

将精确解和近似解画在同一张三维图上,分析比较你的计算结果。

2、 线性方程组的数值解法问题1(高斯消去法的数值稳定性实验)观察和理解高斯消元过程中出现小主元即()kkk a 很小时,引起方程组解的数值不稳定性。

设方程组Ax b =,其中,(1)1510.31059.14315.2916.1301211.29521211A -⎛⎫⨯⎪--⎪= ⎪⎪ ⎪⎝⎭, 159.1746.7812b ⎛⎫⎪⎪= ⎪ ⎪⎝⎭ (2)2107013 2.099999999999996251510102A -⎛⎫ ⎪- ⎪= ⎪-- ⎪⎝⎭ ,285.9000000000000151b ⎛⎫⎪ ⎪= ⎪ ⎪⎝⎭分别对以上两个方程组(1) 计算矩阵的条件数,判断系数矩阵是良态的还是病态的? (2) 用高斯选列主元消去法,求得L 和U 及解向量412,x x R ∈; (3) 用不选主元的高斯选列主元消去法求得,L U 和解向量412,x x R ∈; (4) 观察小主元并分析对计算结果的影响。

问题2(病态线性方程组的特点)给定三个n 阶线性方程组Ax b =,其中A 的元素(,1,,)ij a i j n =与阶数n 分别为,(1)()21ij a i j =+- ,3,4,,9n =;(2)()2ij a i j =+ , 3,4,5n =; (3)11ij a i j =+-, 3,4,5,6n =。

b 的元素()11,,ni ij j b a i n ===∑,及其准确解为()1,1,,1Tx =,用选列主元法分别求解上列方程组,并输入各步主元,解释计算结果出现的异常现象。

问题3 以Hilbert 矩阵为例,研究处理病态问题可能遇到的困难。

Hilbert 矩阵的定义是,111123*********111345211111221n n n H n nn n n ⎛⎫ ⎪ ⎪ ⎪ ⎪+ ⎪= ⎪ ⎪+ ⎪ ⎪ ⎪⎪++-⎝⎭, 它是一个对称正定矩阵,而且()n cond H 随着n 的增加迅速增加。

其逆矩阵1,()n i j H a -=,这里()()()()()()()(),211!1!11!1!!!i ji j n i n j a i j i j n j n j +-+-+-=+-----⎡⎤⎣⎦ (1) 画出ln(())~n cond H n 之间的曲线(可以用任何一种范数)。

你能猜出ln(())~n cond H n 之间有何关系吗?提出你的猜测并设法验证。

(2) 设D 是n H 的对角线元素开方构成的矩阵。

11ˆn n H D H D --=,不难看出ˆn H 仍然是对称矩阵,而且对角线元素都是1。

把n H 变成ˆn H 的技术称为预处理。

画出ˆln(()/())~n n cond H cond H n 之间的曲线(可用任何一种范数)。

你能对于预处理得出什么印象?(3)对于412n ≤≤,给定不同的右端项b ,分别用111112ˆˆˆ,,n n x H b x H D b x D x ----===求解n H x b =,比较计算结果。

(4) 取不同的n 并以n H 的第一列为右端项向量b ,用G —S 迭代法求解n H x b =,观察其收敛性。

最后你能对于有关Hilbert 矩阵的计算得出哪些结论? 问题4 探索高斯选主元消去法增长因子的规律。

设n n A R ⨯∈,而且,,max 1i j i ja =。

利用高斯选主元消去法对其完成消去过程,令()(),,,,max ,ki j i j kA n a ρ=这里(),k i j a 是消去过程中()k A 的第(),i j 个元素。

首先固定()510n n ≤≤,选择()30k >个随机矩阵,计算每个(),A n ρ,然后选出其中最大的一个,记之为()n ρ,它被成为近似的增长因子。

画出()~n n ρ之间的关系曲线,能不能提出你对它们之间关系的猜测? 问题5 (迭代法收敛速度实验)用迭代法求解方程组Ax b =,其2020A R ⨯∈,它的每条对角元素是常数,为113241113224111342214111342211342A ⎛⎫--⎪ ⎪ ⎪---⎪ ⎪ ⎪--- ⎪= ⎪ -⎪ ⎪ ⎪--- ⎪ ⎪ ⎪-- ⎪⎝⎭(1) 选取不同的初始向量()0x 和不同的方程组右端项向量b ,给定迭代误差要求,用Jacobi 迭代法和G -S 迭代法计算,观测得到的迭代向量序列是否均收敛,记录迭代次数,分析计算结果并得出你的结论;(2) 取定右端项向量b 和初始向量()0x ,将A 的主对角线元素成倍增长若干次,非主对角线元素不变,每次用Jacobi 迭代法计算,要求迭代误差满足()()1510k k x x +-∞-<,比较收敛速度,分析现象并得出你的结论。

问题6 (Jacobi 迭代法与G -S 迭代法的收敛性)研究用Jacobi 迭代法和G -S 迭代法解下列方程组Ax b =的收敛性,验证分析是否正确,并观察右端项对迭代收敛是否有影响。

(1) 621142314A -⎛⎫ ⎪=- ⎪ ⎪-⎝⎭ ,1324b -⎛⎫ ⎪= ⎪ ⎪⎝⎭ ,2100200345b ⎛⎫ ⎪=- ⎪ ⎪⎝⎭;(2) 10.80.80.810.80.80.81A ⎛⎫ ⎪= ⎪ ⎪⎝⎭ ,1321b ⎛⎫ ⎪= ⎪ ⎪⎝⎭,25010b ⎛⎫⎪= ⎪ ⎪-⎝⎭(3) 1371A ⎛⎫= ⎪-⎝⎭,46b ⎛⎫= ⎪-⎝⎭3、 插值法问题 1 在平面上给出三个点,它们的坐标是111x ⎛⎫= ⎪⎝⎭,232 1.5,03x x ⎛⎫⎛⎫== ⎪ ⎪⎝⎭⎝⎭,每个点对应一个函数值1 1.8y =,232.6, 3.1y y ==。

找出一个平面通过这三个点。

注:这是一个二元拉格朗日插值问题。

解 假设所求的平面方程是z a bx cy =++把给定的坐标和相应的函数值代进去得到方程 1.82 2.61 1.53 3.1a b c a b b c ++=⎧⎪+=⎨⎪++=⎩,解出待定系数0.28, 1.16,0.36a b c ===就得到所要的方程。

也可以像一元情形那样求一组插值基函数(,)1,(,)0,ij j i l x y i j l x y i j==⎧⎨≠⎩,所要求的平面可写成31(,)i i i z y l x y ==∑。

在我们这个具体情况下有,12(,) 2.4 1.20.2,(,)0.60.80.2l x y x y l x y x y =--=-+-,3(,)0.80.40.4l x y x y =-++问题2 (反插值)给出函数y shx =的函数表(表1),试利用此数表求使5y =的x 值。

x y 4.457 5.466 6.695 8.198 10.018问题3 插值法的稳定性。

已知cos y x =,对区间[]0,1作等距划分,节点为(0,1,,)i ix i n n==,试对下面两种情况分别按制定方案求cos x 在0.73333点的近似值(10,40,160n =)。

(1) 以给定节点为插值节点;(2) 仍以给定节点为插值节点,但在cos0.5上人为增加一个误差0.05。

方案I 拉格朗日插值;方案Ⅱ 分段线性插值;方案Ⅲ I 型三次样条插值。

试比较同一方案对不同的n 、不同方案对相同的n 的精度情况,分析人为增加的误差对不同方案计算结果的影响。

问题4 (观察拉格朗日插值的龙格(Runge )现象)对于函数225()f x a x=+进行拉格朗日插值。

取不同的节点数n ,在区间[5,5]-上取等距间隔的节点为插值点。

把()f x 和插值多项式的曲线画在同一张图上进行比较。

问题5 如果直接利用拉格朗日插值多项式的定义,即2012()n i i i n i i y x a a x a x a x y =++++=出发确定系数,就必须求解方程0000111111.1n n n n n n n a y x x a y x x a y xx ⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭该方程的系数矩阵为范德蒙(Vandermonde)矩阵,它是严重病态的,因此这种方法不能使用。

本实验的目的是观察这种病态性。

取不同的n ,并在[]0,1区间上取n 个等分点。

计算上述系数矩阵A 的条件数,画出ln ()~cond A n 之间的曲线。

相关文档
最新文档