数值分析课程设计报告书.doc

上传人:文库蛋蛋多 文档编号:3926863 上传时间:2023-03-28 格式:DOC 页数:17 大小:535KB
返回 下载 相关 举报
数值分析课程设计报告书.doc_第1页
第1页 / 共17页
数值分析课程设计报告书.doc_第2页
第2页 / 共17页
数值分析课程设计报告书.doc_第3页
第3页 / 共17页
数值分析课程设计报告书.doc_第4页
第4页 / 共17页
数值分析课程设计报告书.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数值分析课程设计报告书.doc》由会员分享,可在线阅读,更多相关《数值分析课程设计报告书.doc(17页珍藏版)》请在三一办公上搜索。

1、西安郵電學院数值分析课程设计报告书院系名称:理学院应用数学系学生姓名:伍选华专业名称:信息与计算科学班 级:信息0902时间:2011年6月20日至2011年7月1日实验一 三次样条插值的三弯矩法 一、实验内容1.用三次样条插值的三弯矩法,编制第一与第二种边界条件的程序.已知数据如下:0.20.40.60.81.00.97986520.91777100.80803480.63860930.38433735求的三次样条插值函数满足:(1)自然边界条件(2)第一种边界条件要求输出用追赶法解出的弯矩向量(,)及(i=0,1,2,3,4,5,6,7,8)的值.并画出的图形.二、实验原理在计算过程中,因

2、为三次样条插值的函数是三次的,对它求二阶导数就得到一个线性函数,因此只要知道的值,及知道弯距量,就可以表示出,对进行两次积分就得到的表达式。1。若给出的是第一类边界条件,及给出的是端点出的一阶导数。则根据下列公式利用追赶法可解出。用,其中 2若给出的是自然边界条件,则 , 根据下列公式利用追赶法求出。二、实验结果1给出自然边界条件:用追赶法求得的弯矩量为:M0=0M1=-1.4513M2=-0.67057M3=-3.0127M4=0要计算的九个节点处的值为: ans= 0.9798652, 0.9541227, 0.9177710, 0.8721112, 0.8080348, 0.730853

3、9, 0.6386093, 0.5114914, 0.3843735 2给出第一种边界条件用追赶法求得的弯矩量为:M0=-7.4996M1=-0.39631M2=1.9385M3=-16.3111M4=50.5844要计算的九个节点出的值为: Ans= 0.9798652, 0.9685578, 0.9177710, 0.8590474, 0.8080348, 0.7592536, 0.6386093, 0.4258082, 0.3843735 实验二 最小二乘法的曲线拟合一、实验内容2.编制以离散点的正交多项式为基的最小二乘拟合程序,并用于对下列数据做三次多项式最小二乘拟合.-0.1-0.5

4、0.00.51.01.52.0-4.447-0.4520.5510.048-0.4470.5494.552取权1,求出拟合曲线,输出,及平方误差,并画出的图形.二、实验原理对于给定的数据,选取线性无关的函数族,以及权函数,求一个函数使得在给定点的函数值与给定点的值误差最小。系数及为所求解的系数.用正交多项式拟合时,用施密特正交化法选取一组正交函数族用同样的方法进行拟合。三、实验结果1.用拟合平方误差:2.1762e-005参数:1.9991 -2.9977 -3.9683e-005 0.549122.用正交多项式拟合平方误差:2.1762e-005参数:1.9991 -2.9977 -3.96

5、83e-005 0.54912三项递推公式的系数为:P1= 0 1.00000000000000 0.75000000000000 P1= 0.50000000000000 0.50000000000000 0.50000000000000 P3=0.05057142857143 2.00007142857143 0.00100000000000 1.99911111111111. 实验三 用龙贝格5点高斯及复化3点高斯求积分值一、实验内容3.给出积分, , (1)运用龙贝格求积公式计算上述积分I的值,要求到时结束,输出T表及I的近似值.(2)用5点高斯求积公式及复化3点高斯求积公式计算上述积

6、分,并输出I的近似值.(3)分析比较各种计算结果.二、实验原理1.Romberg求积算法的计算过程。(1)取,求,令记k为区间 的二分次数。(2).按公式求梯形值,及计算,(3).求加速值。及求(4).若,则在终止计算,并;否则令转2继续计算。其中, 2.Gauss五点求积算法的计算过程运用Gauss_Legendre求积公式。以Legendre多项式的零点为高斯点计算。,其中的可用已知表中给出的数据直接带入公式求解。对于任意区间上的Guass公式,可以作变量置换将任意区间化为区间。则有3.对于复化的Gauss三点,将区间等分,在每一个小区间上用Gauss三点求积公式。Gauss三点与Gaus

7、s五点同理。三、实验结果1.第一个积分过程用龙贝格法求积分T =Columns 1 through 30.07326255555494 0 0 0.40451071894891 0.51492677341357 0 0.41817958499048 0.42273587367100 0.41658981368816 0.42158203719810 0.42271618793398 0.42271487555151 0.42243897582396 0.42272462203258 0.42272518430582 0.42265351726695 0.42272503108128 0.422

8、72505835119 Columns 4 through 6 0 0 0 0 0 0 0 0 0 0.42281209875569 0 0 0.42272534793684 0.42272500773755 0 0.42272505635191 0.42272505520844 0.42272505525485用龙贝格法求积分:I =0.42272505525485用五点Gauss求积分: G5 = 0.42272077520260用复化三点Gauss求积法: G3 =0.422725056028722.第二个积分过程用龙贝格法求积分:T =Columns 1 through 3 -0.39

9、269908169872 0 0 -0.35901082642043 -0.34778140799434 0 -0.34975833397528 -0.34667416982689 -0.34660035394906 -0.34737498886669 -0.34658054049715 -0.34657429854184 -0.34677427522895 -0.34657403734971 -0.34657360380655Columns 4 through 5 0 0 0 0 0 0 -0.34657388496395 0 -0.34657359277900 -0.34657359163

10、318用龙贝格法求积分I =-0.34657359163318用五点Gauss求积分: G5 = -0.34657373704616用复化三点Gauss求积法: G3 =-0.346573590223053第三个积分过程用龙贝格法求积分:T= Columns 1 through 3 0.22916666666667 0 0 0.20982142857143 0.20337301587302 0 0.20454441391941 0.20278540903541 0.20274623524624 0.20318824967775 0.20273619493053 0.20273291399021

11、 0.20284665344961 0.20273278804022 0.20273256091420Columns 4 through 5 0 0 0 0 0 0 0.20273270254170 0 0.20273255530982 0.20273255473244用龙贝格法求积分:I =0.20273255473244用五点Gauss求积分: G5 =0.20273264180051用复化三点Gauss求积法: G3 = 0.20273255402523实验四 比较一阶导数的数值方法一、实验内容4.比较求一阶导数的数值方法,给出函数.利用某距离点函数值,必要时给定端点导数值,分别用中心差

12、分,理查森外推计算的一阶导数,分析,比较各种方法的效果,说明精度与步长h的关系。二、实验原理1中心差分式利用中点公式求得导数的近似值,2。理查森外推法式利用中点公式计算导数时,然后利用理查森外推法,对逐次二分,记,则有。三、实验结果所取的求导点:x = 0.5000 0.8000 1.1000 1.4000 1.7000 2.0000准确解为:y =-29.5562 -5.4537 -2.0513 -1.0422 -0.6231 -0.4122理查森求导:y=-29.5562 -5.4537 -2.0513 -1.0422 -0.6231 -0.4122中心差分求导:h =0.0200y =

13、-29.5562 -5.4622 -2.0527 -1.0426 -0.6233 -0.4122h =0.0100y = -29.5562 -5.4558 -2.0516 -1.0423 -0.6232 -0.4122h = 0.0050y = -29.5562 -5.4542 -2.0514 -1.0422 -0.6231 -0.4122四、实验结果分析从以上数据可以看出来,理查森外推求导的精确度相当的高。对于中心差分求导法。取不同的步长,解的精确度不一样,可以看出来,步长越小精度越高。这是因为,时,用这个公式求得的解就等于真实值。所以步长越小,精度越高。实验五 高斯列主元消去法和LU分解求

14、方程组的解一、实验内容5. 给定方程组1 2.用LU分解和列主元高斯消去法求解上述两个方程组,输出Ax=b中矩阵A及向量,分解的与,及解向量.(1) 用LU分结合列主元高斯消去法求解上述两个方程组.输出Ax=b中矩阵A及向量b,A=LU分解的L,U,detA及解向量x.(2) 将方程组中系数3.01改为3.00,0.987改为0.990.用列主元高斯消去法求解,输出列主元行交换次序、解向量x及detA,并与(1)中结果比较.将方程组中的2.099999改为2.1,5.900001改为5.9.用列主元高斯消去法求解,输出解向量x及detA,并与(1)中结果比较.二 实验原理1高斯列主元消去法求解

15、方程的解高斯列主元消去法首先在增广矩阵的第一列个元素中选取绝对值最大的值一个作为主元素,并把此元素所在的行与第一行进行交换,然后通过初等行变换把第一列后的个元素消为0,得到增广矩阵;其次,在矩阵的第二列后个与元素中选取绝对值最大的一个作为主元素,并把它所在的行与第二行元素进行交换,然后通过初等行变换把第二行后的个元素消为0,得到增广矩阵,按此方法做下去,只要,消元过程就能进行到底,最后得到一个与原方程同解的上三角方程组,最后回代求解。2.LU分解求方程组的解LU分解法是将非奇异矩阵A分解为其中为单位下三角矩阵,为下三角矩阵。求出的第一行,再求出的第一列,求出的第二行,再求出的第二列,这样依次进

16、行下去,求出的各个元素。则方程组就变成,求解的前推公式,解出的值,然后再求解的回代过程,解出。三 实验结果1.求解方程组一(1)高斯列主元消去法解方程组x = 1.0e+003 * 1.59259962484138 -0.63191137620255-0.49361772475939(2)用LU分解法解方程组L =1.00000000000000 0 0 0.42192691029900 1.00000000000000 0 0.32790697674419 -4.20061889585689 1.00000000000000U =3.01000000000000 6.030000000000

17、00 1.99000000000000 0 1.61578073089701 -2.06963455149502 0 0 -0.00628088824920det(A)=-0.03054710000000用LU分解求解方程的解为:X =1.0e+003 *1.59259962484138 -0.63191137620255 -0.493617724759392.求解方程组二(1)高斯列主元消去法解方程组X =0.00000000000000 -1.00000000000000 1.00000000000000 1.00000000000000(2)用LU分解法解方程组L =1.0e+006 *

18、 Columns 1 through 3 0.00000100000000 0 0 -0.00000030000000 0.00000100000000 0 0.00000050000000 -2.49999999965056 0.00000100000000 0.00000020000000 -2.39999999966453 0.00000095999968Column 4 0 0 0 0.00000100000000U =1.0e+007 *Columns 1 through 3 0.00000100000000 -0.00000070000000 0 0 -0.000000000000

19、10 0.00000060000000 0 0 1.50000049979033 0 0 0Column 4 0.00000010000000 0.00000023000000 0.57499984991963 0.00000050799989det(A)= -7.620000900000001e+002用LU分解求解方程的解为:X =-0.00000000060339 -1.00000000088818 1.00000000007028 0.999999999816673.对方称组的元素进行修改后所的到的解(1)对方程一的元素进行修改后的系数及所求的解X为x =1.0e+002 * 1.19

20、527338125959 -0.47142604431296 -0.36840256109126(2)对方程二的元素进行修改后的系数及所求的解X为 x =0.00000000000000 -1.00000000000000 1.00000000000000 1.00000000000000四、实验结果分析从实验结果3中的结果可以看出,对方程组一,与方程组二的部分元素进行修改后,方程组一的结果变化比较明显,而方程组二的解变化不大。误差分析:对于方程组,我们知道右端项和系数矩阵的扰动对方程解的影响与矩阵的条件数有关,方程组一的 为 5.675080428255772e+004,而方程组二的为12.

21、40157333839685,可以看出来方程组一的条件数是方程组二的条件数的4000多倍,因而方程组一的扰动比方程组二的解的扰动要大很多。 实验六 研究线性代数方程组的迭代法收敛速度一、实验内容6. 研究解线性方程方程组迭代法收敛速度,给定为五对角矩阵(1)选取不同的初始向量及右端项向量,给定迭代误差要求,用雅可比迭代和 法求解,观察得到的序列是否收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论.(2)用迭代法求上述方程组的解,松弛系数取12的不同值,在时停止迭代.记录迭代次数,分析计算结果并得出你的结论.二、实验原理1Jacobi迭代原理是从方程组的第个方程中分离出来若,则将它改写为的

22、迭代形式,若给定一组初值,则可以带入迭代公式进行迭代求解,直到它的精度满足要求为止。2GaussSeidel迭代与雅克比迭代同理,只是迭代过程中若求出了某个变元的新值,则用新值代替它的老值,进行这一步剩下的计算。从而较快收敛。3SOR方法,实质上是Gauss-Seidel迭代的一种加速方法,这种方法将前一步的结果与后一步的结果适当的加权平均,期望的到更好的近似值。然后再带入公式进行下一次迭代。三、实验结果Jacobbi迭代次数为:10迭代求得的解为;ans =0.1934 0.2103 0.2200 0.2215 0.2221 0.2222 0.2222 0.2222 0.2222 0.222

23、2 0.2222 0.2222 0.2222 0.2222 0.2222 0.2221 0.2215 0.2200 0.2103 0.1934Gauss_seidel迭代次数为:8迭代求得的解为;ans =0.1934 0.2103 0.2200 0.2215 0.2221 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.22220.2222 0.2221 0.2215 0.2200 0.2103 0.1934SOR松弛系数为:1;迭代次数为:8迭代求得的解为:ans=0.1934 0.2103 0.2200 0.2215 0

24、.2221 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2221 0.2215 0.2200 0.2103 0.1934SOR松弛系数为:1.2; 迭代次数为:10迭代求得的解为:ans = 0.1934 0.2103 0.2200 0.2215 0.2221 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2221 0.2215 0.2200 0.2103 0.1934SOR松弛系数为:1.4; 迭

25、代次数为:16迭代求得的解为:ans = 0.1934 0.2103 0.2200 0.2215 0.2221 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2221 0.2215 0.2200 0.2103 0.1934SOR松弛系数为:1.6 ;迭代次数为:28SOR松弛系数为:1.8; 迭代次数为:64四、实验结果分析从上面的数据可以看出来Gauss_seidel迭代比Jacobbi迭代的迭代次数更少,而对于SOR迭代过程不同的松弛系数迭代的次数不同,选取适当的松弛系数,可以减少迭代的次数。

26、若选取不当,则会使得迭代次数更多。实验七 用迭代法解非线性方程及方程组的根一、实验内容7. 求非线性方程及方程组的根,精确到,给定方程分别为:(i) (ii) .(1) 用你自己设计出的一种线性收敛迭代法求方程(i)的根,然后再用斯蒂芬森加速迭代计算.(2) 用牛顿法求方程(i)的根,输出迭代初值,各次迭代值及迭代次数,并与(1)的结果比较.(3) 用牛顿法求(ii)的解,输出迭代次数及解向量的近似值.二、实验原理1.线性迭代原理通常,用迭代法求的近似根时,将方程转化为的形式,给出根的某一个猜测值,及初值。代入的右端,转化为,再取为猜测值,反复计算,直到则就是方程的解。2.斯蒂芬森加速是用下列

27、的迭代公式,同理迭代,3.牛顿迭代法时用下列牛顿公式同理迭代4.解非线性方程组用矩阵的迭代公式计算。三、实验结果1.用线性收敛迭代法求的根为:0.25753迭代次数为:11用斯蒂芬森加速法求的根为:0.25753迭代次数为:3用牛顿迭代法求的过程值为:0.25 0.25752 0.25753 0.25753迭代次数为:42.用牛顿法解方程组的解方程组的解为:0.5 0.86603迭代次数为:5四、实验结果分析从上述数据可以看出来,用三种迭代求方程的根,迭代次数不同。斯蒂芬森加速法和牛顿迭代法比线性收敛的迭代收敛效果更好。实验八 用QR法求矩阵的特征值一、实验内容8. 用QR算法求矩阵特征值:(

28、i) (ii)(1) 根据QR算法原理编制求(i)及(ii)中矩阵全部特征值的程序并输出计算结果(要求误差.(2) 直接用现有数学软件求(i),(ii)的全部特征值,并与(1)的结果比较.二、实验原理QR方法是求一般矩阵的全部特征值和特征向量的一种迭代方法,通过迭代方法产生序列,我们可以推算得到与是相似的,它们有共同的特征值。在一定的条件下,上式产生的序列是收敛于上三角矩阵的,其主对角显上的元素就是矩阵的特征值,如果收敛于分块上三角形,则主对角线上各个子块的特征值就是矩阵的特征值。三、实验结果(1)求A的特征值数学软件求的特征值为:t =0.5789 2.1331 7.2880用QR算法求的特

29、征值为:l =7.2880 2.1331 0.5789(2)求H的特征值数学软件求的特征值为:t =13.1724 6.5519 1.5957 -0.3908 -0.9291用QR算法求的特征值为:l = 13.1723 6.5519 1.5957 -0.9291 -0.3908实验九 改进的欧拉法和经典四阶P_K法求初值解一、实验内容9.求初值问题的数值解,给定初值问题为(i) (ii) (1)用改进欧拉法(取h=0.05)及四阶R-K.方法(取h=0.1)求(i)的数值解,并输出的数值解(2)用经典四阶R-K方法解(ii),步长h 分别取为h=0.1,0.025,0.01计算,并输出各点的

30、数值解,并分析结果.(初值问题(ii)的准确解)二、实验原理改进的欧拉法是结合显式欧拉与梯形公式,将梯形公式显示化,从而迭代求解。经典RK是根据公式,进行迭代求解。三、实验结果1.求解方程(i)的数值解。(1)用改进的欧拉法求方程一的初值,输出x=1+0.1*i的值:X=1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2Y=1 1.0045 1.0167 1.0346 1.0571 1.0833 1.1125 1.1441 1.1778 1.2132 1.25(2)用经典四阶R_K法求方程(i)的初值,输出x=1+0.1*i的值:Y=1 1.0038 1.0154

31、1.0329 1.0551 1.081 1.1099 1.1414 1.1749 1.2101 1.24682.用R_K法取不同的步长求微分方程(ii)的初值,输出x=0.1*i的值(1) h=0.1 X=0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Y=0.333333333333333 4.59756944444445 62.937722800926 862.314408396027 11819.8127234289 162027.974208671 2221130.3891522 30447991.2744197 417391207.602878 5721

32、737796.21092 78435488946.2307 (2)h=0.025 Y=0.33333 0.012243 0.038539 0.087761 0.15701 0.24626 0.3555 0.48475 0.634 0.80325 0.9925(3) h=0.01Y=0.33333 0.012039 0.039588 0.089361 0.15915 0.24894 0.35872 0.48851 0.6383 0.80809 0.99788(4)准确解为:Y=0.33333 0.012246 0.040015 0.09 0.16 0.25 0.36 0.49 0.64 0.81 1.00 四、实验结果分析从上面两幅图可以看出,用四阶经典RK法求微分方程的解,当时,它求得的解而与准确界差异非常大,时,与准确解几乎是吻合的。误差分析:由于四阶经典RK法的绝对稳定区间是,求得从而求得的取值范围为:,当时超出了的取值范围。所以取步长时求得的解是发散的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号