您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 数值分析大作业(牛顿下山法-拉格朗日法-切比雪夫法)及Matlab程序
课程设计课程名称:数值分析设计题目:学号:姓名:完成时间:2014.11.18题目一:解线性方程组的直接法设方程组Axb,其中250002511125555111xxxxxxAxxx,矩阵中10.1(0,1,,5)kxkk,b由相应的矩阵元素计算,使解向量(1,1,,1)Tx。(1)A不变,对b的元素6b加一个扰动410,求解方程组;(2)b不变,对A的元素22a和66a分别加一个扰动610,求解方程组;(3)对上述两种扰动方程组的解做误差分析。一.数学原理:本计算采用直接法中的列主元高斯消元法,高斯列主元消元法原理如下:1、设有n元线性方程组如下:1111nnnnaaaa1nxx=1nbb2、第一步:如果a11!=0,令li1=ai1/a11,I=2,3,……,n用(-li1)乘第一个方程加到第i个方程上,得同解方程组:a(1)11a(1)12...a(1)1nx1b(1)1a(1)21a(1)22...a(1)2nx2b(1)2.......=.a(1)n-11a(1)n-12..a(1)n-1nxn-1b(1)n-1a(1)n1a(1)n2...a(1)nnxnb(1)n简记为:A(2)x=b(2)其中a(2)ij=a(1)ij–li1*a(1)1j,I,j=2,3,..,nb(2)I=b(1)I–li1*b(1)1,I=2,3,...,n第二步:如果a(2)22!=0,令li2=a(2)i2/a(2)22,I=3,……,n依据同样的原理,对矩阵进行化间(省略),依次下去,直到完成!最后,得到上三角方程组:a(1)11a(1)12...a(1)1nx1b(1)10a(1)22...a(1)2nx2b(1)2.......=.00..a(n-1)n-1nxn-1b(n-1)n-100...a(n)nnxnb(n)n简记为:A(n)x=b(n)最后从方程组的最后一个方程进行回代求解为:Xn=b(n)/a(n)nnXi=(b(k)k-a(k)kjxj)/a(k)kk二.解题过程:1.由题中所给条件可求出b。B=6.00007.71569.929912.756016.323820.7813(1)A不变,对b的元素6b加一个扰动410,求解方程组。B=[6.00007.71569.929912.756016.323820.7813+0.0001]'解得x=[0.59972.6920-1.85003.39170.00001.1667]’(2)b不变,对A的元素22a和66a分别加一个的扰动,求解方程组。A=1.0000000000000001.0000000000000001.0000000000000001.0000000000000001.0000000000000001.0000000000000001.0000000000000001.1000010000000001.2100000000000001.3310000000000001.4641000000000011.6105100000000011.0000000000000001.2000000000000001.4400000000000001.7280000000000002.0736000000000002.4883199999999991.0000000000000001.3000000000000001.6900000000000002.1970000000000002.8561000000000013.7129300000000011.0000000000000001.4000000000000001.9600000000000002.7439999999999993.8415999999999995.3782399999999981.0000000000000001.5000000000000002.2500000000000003.3750000000000005.0625000000000007.593751000000000x=[0.8258323055935231.742109746543727-0.2595378800249952.0645851144523800.5518321528723031.075178560563062]’三、误差分析:从上面计算结果可以看出,当系数矩阵或右端向量发生极小的扰动,方程组的解也会产生很大的误差,产生的原因是范德蒙阵为变态阵。由数值计算知识可知1cond1xAbAxAbAA其中1condAAA为条件数,从上式看到,当A的条件数很大时,解的相对误差也很大,此时的对应的线性方程为病态线性方程组。计算条件数时,取矩阵的无穷范数,经计算得矩阵A、受,cd扰动后的矩阵D和E的条件数为cond1.0668e+07A;cond6.9639e+06B;cond2.3434e+07E;可以看到三个矩阵的条件数非常大,即使系数矩阵或右端向量发生很小的变化,也会导致解产生很大的误差。四、收获与体会:运用matlab编程解决数学问题很方便,病态阵的条件数非常大,给系数矩阵或者右端向量一个很微小的扰动,方程组的解也会产生很大的变动。通过做这个题目,我对让课上抽象病态现象有了直观的认识。题目二:多项式插值在区间[5,5]上对龙格函数21()1Rxx做插值,分别用等距节点(节点步长1h)和切比雪夫多项式11()Tx的零点做插值节点,画出原函数和两个插值函数的图像进行比较,并利用||||对两种插值方法做误差分析。一.数学原理:1.拉格朗日等距节点插值拉格朗日插值多项式为1001=nnnnkkkkkknxLxlxyyxxx其中1011=nkkkkkknxxxxxxxxx余项为111!nnnnfRxfxLxxn与0,nxxx有关。2.拉格朗日以切比雪夫零点为节点插值切比雪夫多项式cosarccos,1.nTxnxx在区间1,1上有n个零点,为21cos,0,1,2,3,12kkxknn由上式得到切比雪夫多项式+1nTx的1n个零点,并作为插值节点做拉格朗日插值,得到多项式nPx。一.计算过程:原函数为y=1./(1+x.^2),通过matlab绘图得到原函数图像为:1.利用拉格朗日差分(等距节点):x=(-5-4-3-2-1012345)y=1./(1+x.^2)=(0.03850.05880.10000.20000.50001.00000.50000.20000.10000.05880.0385)拉格朗日插值多项式为:10001122334455667788991010()()()()()()()()()()()()lxylxylxylxylxylxylxylxylxylxylxylx=(t*(t/8+5/8)*(t-1)*(t-2)*(t+2)*(t-3)*(t+3)*(t-4)*(t+4)*(t-5))/4320-(t*(t/15+1/3)*(t-1)*(t+1)*(t-2)*(t-3)*(t+3)*(t-4)*(t+4)*(t-5))/10080-((t/5+1)*(t-1)*(t+1)*(t-2)*(t+2)*(t-3)*(t+3)*(t-4)*(t+4)*(t-5))/2880+(t*(t/20+1/4)*(t-1)*(t+1)*(t-2)*(t+2)*(t-3)*(t-4)*(t+4)*(t-5))/40320+(t*(t/12+5/12)*(t+1)*(t-2)*(t+2)*(t-3)*(t+3)*(t-4)*(t+4)*(t-5))/2880-(t*(t/17+5/17)*(t-1)*(t+1)*(t-2)*(t+2)*(t-3)*(t+3)*(t-4)*(t-5))/362880+(t*(t/26+2/13)*(t-1)*(t+1)*(t-2)*(t+2)*(t-3)*(t+3)*(t-4)*(t-5))/3628800-(t*(t/35+1/7)*(t-1)*(t+1)*(t+2)*(t-3)*(t+3)*(t-4)*(t+4)*(t-5))/4320+(t*(t/80+1/16)*(t-1)*(t+1)*(t-2)*(t+2)*(t+3)*(t-4)*(t+4)*(t-5))/10080-(t*(t/153+5/153)*(t-1)*(t+1)*(t-2)*(t+2)*(t-3)*(t+3)*(t+4)*(t-5))/40320+(t*(t/260+1/52)*(t-1)*(t+1)*(t-2)*(t+2)*(t-3)*(t+3)*(t-4)*(t+4))/362880注:Matlab中用t表示变量x通过matlab绘图的插值后多项式曲线为:2.切比雪夫零点插值:11()Tx在[-1,1]上有11个不同零点:(21)cos22kkx(1,2,k……,11)kx=(0.98980.90960.75570.54060.28170.0000-0.2817-0.5406-0.7557-0.9096-0.9898)将[-1,1]区间到[-5,5]区间进行转化得:x=5*kx=(4.94914.54823.77872.70321.40870.0000-1.4087-2.7032-3.7787-4.5482-4.9491)y=1./(1+x.^2)=(0.03920.04610.06540.12040.33511.00000.33510.12040.06540.04610.0392)由于插值后的多项式过于复杂,这里没有给出具体形式,直接给出函数曲线为:原函数、拉格朗日插值、切比雪夫零点插值后的曲线对比如下:3.误差分析:从上图可以看出,在区间两端高次等间距的朗格朗日插值与原函数之间的偏差很大,切比雪夫零点插值多项式在整个区间上与原函数之间的偏差都很小,所以直观上可以看出切比雪夫插值多项式更趋近原函数。下面利用无穷范数对两种插值方法做误差分析,计算结果如下:111155max=0.1092xfxPxfxPx111155max=1.9156xfxLxfxLx对比上面计算结果易知用切比雪夫多项式11Tx的零点做插值节点得到的多项式于原函数的拟合度更高。4.收获与体会:利用matlab的强大数学计算功能,加深了对拉格朗日插值方法的认识。深刻体会到对于一些函数,等间距节点的高次插值多项式的偏差会很大,通过计算可以看到,利用相应的切比雪夫多项式零点做拉格朗日插值会消弱这一“龙格”现象,而且效果非常明显。题目三:非线性方程求根利用改进Newton法求解方程2(1)(21)0xx,其中迭代条件分别为:(1)02,0.55;rx(2)01.5,0.55;rx(3)01.5,0.85;rx对不同条件下获得的结果进行分析比较。一.数学原理:牛顿法解非线性方程的近似解,已知0fx的近似解kx,通过下式得到fx更精确地零点近似根。+1=kkkkfxxxfx该题的迭代方式采用的牛顿下山法,是基于牛顿法的改进,即在下山法保证函数值稳定下降的前提下,用牛顿法加快收敛速度,得出下面的迭代计算公式+1=,0,1,2,.kkkkfxxxkfx其中01<称为下山因子。由数值计算知识可知,虽然r(线性方程的重根数)大于1但上式对r也是二阶收敛的,所以计算时的初始值取r,迭代终止条件为9110kkxx。二.计算过程:(1)2r,00.55x;程序运行结果如下:x=0.50175381y=0.50175381k=10001(k为迭代次数)由于设定了迭代次数
本文标题:数值分析大作业(牛顿下山法-拉格朗日法-切比雪夫法)及Matlab程序
链接地址:https://www.777doc.com/doc-2161668 .html