2023年数值计算B大作业.pdf
《2023年数值计算B大作业.pdf》由会员分享,可在线阅读,更多相关《2023年数值计算B大作业.pdf(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、珥流?充2普课 程 设 计课程名称:数值计算B设计题目:数值计算B大作业学 号:_姓 名:_完毕时间:题目一:多项式插值某气象观测站在8:0 0 (AM)开始每隔1 0 分钟对天气作如下观测,用三次多项式插值函数(N e wt on)逼近如下曲线,插值节点数据如上表,并求出9点 3 0 分该地区的温度(x=l 0 )。X12345678y2 2.52 3.32 4.42 1.702 5.22 8.524.82 5.4二、数学原理假设有n+1 个不同的节点及函数在节点上的值(x,y),(x,yn),插值多项式有如下形式:Pn(x)=aQ+a(x-x0)+a2(x-x0)(x-x,)+.+an(x
2、-x0)(x-x,).(x-xn)(1 )其中系数/(i =0,1 ,2 n)为特定系数,可由插值样条P n(xp =y i (i=0,1,2 n)拟定。根据均差的定义,把 x 当作a,b上的一点,可得f(x)=f(x0)+f L xo,X (x-x0)fx,x0=f x0,xj+f x,X o,X,(X -X j )fx,x0,-xn.1 =f X ,X。,xn+f X ,x0,-xn(X X n)综合以上式子,把后一式代入前一式,可得到:f(x)=f x0+f x0,xj (x-xo)+f xo,X 1,x2(X -X()(X-X)+fx,X(p X (X-X 0)(X X I )+fx,
3、X 0,X n ,x%+|(x)=N.(X )+4(x)其中N n (x)=f C xo+fxo,X (x-xo)+fx0,X,X,1 (X -XQ)(X-X j )+f E x,x0,-X(x-x0)(x-xn 4)(2)7?n(x)=f(X )N n(x)=fx,x0,X n ,X yn+l(x)(3)X (X -X,)+f x0,X,x2 (X -X,)(x-x2)+.+fE xo,X.X,(X -X j )(x-x2)-(x-x ).其中插值余项为:Rnn(x)=f(x)-N (x)=(n+1)!n+l(x)J介于X o,X,.X k之间。三、程序设计fu n c t i on y ,
4、A,C,L=ne wd s c g(X,Y,x,M)%y为相应x的值,A为差商表,C为多项式系数,L为多项式%X为给定节点,Y为节点值,x为待求节点n=l e n g t h(X);m=le n g t h(x);/n 为 X 的长度for t=l:mz=x(t);A =z e r o s(n,n);A (:,1)=Y,;s=0 .0;p =1.0;ql=l.0;cl=l.0;f or j =2 :nfor i =j:nA(i,j )=(A(i,j -1)-A(i-1,j-l)/(X(i )-X(i -j +1);en dql=abs(q 1*(z -X(j-1 );c 1=c l*j;e n
5、 dC=A(n,n);q l=ab s(ql*(z -X(n);f o r k=(n 1):-1:1C=conv (C,p o 1 y (X (k);d=l e n g t h(C);C(d)=C(d)+A(k,k);y (k)=p o ly v al(C,z);%输出 y 值L (k,:)=p oly 2 s y m(C);为输出多项式 s y m s M,X=1,3,5,7 1 ;Y=2 2.5,2 4.4,2 5 .2,2 4.8;x=1 0;y,A,C,L=n e wd s c g(X,Y,x,M)2 1.7 3 1 32 2.5 0 0 02 4.4 0 0 00.9 5 0 02
6、5.2 0 2 30 .4 0 0 0 -0 .1 3 7 52 4.8 0 0 02 0 2 3-0.1 5 0 00 0 2 1c-0.00 2 1 -0.1 1 87 1.4 52 1 21.168 8L=-x-3/480-(1 9*x-2)/1 6 0+(69 7*x)/4 80+3387/1 6 0四、结果分析和讨论对于不超过三次的插值多项式,x假如选取1,3,5,7 这三个点可以得到较好的三次插值多项式 L=-0.0 0 2 lx-3-0.1 1 87x-2+l.4521x+2 1.1688。当 x=10 时,也即 9 点 30 分时的温度为21.7 317度,结果分析知此值应是偏
7、小的。对于选取不同的插值节点,可以得到不同的插值多项式,误差也不尽相同。五、完毕题目的体会与收获牛顿插值法的重要一点就是对插值节点的选取,通过本题的编程很好的加深了对其概念的理解以及提高了应用牛顿插值法的能力,学会了运用Matl a b 软件对牛顿插值法相关问题进行编程求解,对 Matla b 计算方法与程序编辑更加熟悉。使我对这类问题的理解有了很大的提高。题目二:曲线拟合在某钢铁厂冶炼过程中,根据记录数据的含碳量与时间关系,试用最小二乘法拟合含碳量与时间力的拟合曲线,并绘制曲线拟合图形。t(分)0 5 10 1 5 20 25 3 0 3 5 40 4550 55(xKT4)0 1.27 2
8、.16 2.86 3.4 4 3.87 4.1 5 4.37 4.51 4.58 4.02 4.64二 数学原理从整体上考虑近似函数P(x)同所给数据点(巧,)(i=0,1,m)误差,=PU,)-Z (i=0,1,m)的大小,常用的方法有以下三种:一是误差=以七)一(i=0,1,,m)绝对值mX 11的最大值盥N d,即误差向量,=,小*的8 范数;二是误差绝对值的和金“,即误m差向量r 的 1一范数;三是误差平方和,=。的算术平方根,即误差向量r 的2一范数;前两种方法简朴、自然,但不便于微分运算,后一种方法相称于考虑2 范数的平方,因此在曲线拟合mYr/中常采用误差平方和M 来度量误差。(
9、i=0,1,,m)的整体大小。数据拟合的具体作法是:对给定数据(X-)(i=0,1,,0 1),在取定的函数类中,求2 3)6%使误差”。(七)一必仕=0,1,1)的平方和最小,即由 2 (巧)-乂=一/=0=/=0从几何意义上讲,就是寻求与给定点(X,-)(i=0,1,,m)的距离平方和为最小的曲线y=(x)。函数P(x)称为拟合函数或最小二乘解,求拟合函数P(x)的方法称为曲线拟合的最小二乘法。在曲线拟合中,函数类中可有不同的选取方法。三、程序设计 x=0,5,1 0,15,20,25,3 0,35,40,4 5,5 0,55;y=0,1.2 7,2.16,2.8 6,3.44,3.8 7
10、,4.1 5,4.3 7,4.51,4.5 8,4.02,4.6 4 *1 0 (-4);p=p o ly fit(x,y,2)P1.Oe-0 4*-0.00240.20370.2305 p l o t (x,y,r)四、结果分析和讨论通过最小二乘法得到的曲线拟合多项式是P=(-0.0 024x-2+0.2 0 3 7x+0.2 3 05)*10、运用M a t 1 a b软件调用最小二乘法函数即可得到多项式拟合函数,由于数据较少得到的拟合曲线不够光滑,也许会存在一定的误差。拟合曲线总体呈现增函数趋势,与数据较为吻合。五、完毕题目的体会与收获曲线拟合较常用的方法之一就涉及最小二乘法,因此可以纯
11、熟使用Ma tla b 进行数据的曲线拟合变得尤为重要。通过完毕本题的拟合过程,对于最小二乘法曲线拟合的操作更加的纯熟,可以较好的完毕各类数据的拟合。题目三:线性方程组求解分别运用LU分解;平方根法与改善平方根法;追赶法求解下列几个不同类型的线性方程组,并与准确值比较结果,分析误差产生因素。(1)设线性方程组42-3-1210000玉586-5-36501001242-2-132-1031不30-215-13-11942-426-167-3323X5386-8571726-35X64602-13-425301X7131610-11-917342-122/38462-7139201241900-
12、18-3-24 863-1产。一-21/=(1,-1,0,1,2,0,3,1,-1,2/二、数学原理将A分解为一个下三角矩阵L和一个上三角矩阵U,即:A =L U,1 0 0一U U2,一 Wl/i其中 I 尸h 1 -0,u=“22,,W2M:1 l.00 o ;Jnl 4,2 L_ 0 0 ”解A x=b的问题就等价于规定解两个三角形方程组:右 Ly=b,求y;A Ux=y,求Xo设A为非奇异矩阵,且有分解式A=LU,L为单位下三角阵,U为上三角阵。L,U的元素可以有n步直接计算定出。用直接三角分解法解Ax=b (规定A的所有顺序主子式都不为零)的计算公式:ut i=,.(/=1,2,),
13、=%JU,i=2,3,,n.A 计算 U 的第 r 行,L 的第 r 列r-元素(i=2,3,,n):urj=ari-lrkuki,i =r,r+1,n;k=/力=(%一/欢 以r)/rr,i=+1 ,,n,且 J T#!.k=求解Ly=b,U x=y的计算公式;。y =2Z4,?=2,3,:k=lx“=yniunn,七=(/一=-1,一2,i.k=i+l三、程序设计fun c tio n fl=LUre s o lve (a ,b);n,n =size (a );%行数z=s i z e (b)%b 的行数r;矩阵u=;%u 矩阵fo r j=1 :1 :nu(l,j)=a(1 ,j);e
14、n dfo r i=2 :1 :n1 (i,l)=a(i ,1)/u(1,1);e n df o r i=2:1:(n 1)sum1=0;fo r k=l:1:(i-1)sum 1 =1 (i,k)*u(k,i)+sum 1 ;e n du(i,i )=a(i,i)-s u ml;s u m 2 =0;s um 3 =0 ;fo r j=(i +1):1:nfo r k=1 :1 :(i 1)s u m2=sum2+1 (i,k)*u(k,j );sum3 =sum 3 +1 (j,k)*u(k,i)e n du(i ,j)=a(i,j)-s u m2;1 (j,i)=(a (j,i)-sum
15、3)/u(i,i);e n de n dfo r i=l:1 :(n-1 )1 (i,i)=1 ;1 (i,n)=0 ;e n d1 (n,n)=1 ;s u m 4 =0;fo r k=l:1:(n 1)s u m 4=s u m 4+l (n ,k)*u(k,n);e n du(n,n)=a (n,n)s um4;1%输出1矩阵u%输出u矩阵y=l b%输出向量yx=u y%输出向量x a=4 2-3-1 2 1 0 0 0 08 6-5 -3 6 5 0 1 0 04 2-2-1 3 2-1 0 3 10-2 1 5 -1 3-1 1 9 4-4 2 6-1 6 7-3 3 2 38 6
16、-8 5 7 17 2 6-3 50 2-1 3-4 2 5 3 0 116 10-11-9 17 34 2-1 2 24 6 2 -7 1 3 9 2 0 1 2 40 0-1 8-3-24-8 6 3-1 ;b=5;12;3;2;3;46;13;38;1 9;-2 1 ;LUresolve(a,b)z 二10 11 =1.0 0 0 00000000002.000 01.000000000000001.0 0 00001.0 0 000000000-1.0 0 00-2.00 0 03.00 0 01.000 000001.0 0004.0000-0.4 6 671.0000000002.
17、0 0 0 0 1.0000-5.0 0 0 0-0.2667 1.64411.0 0 0 0000 00-1.0000 3.0 0 00-0.06 6 7-0.08 4 7 0.2 9 6 91.00000004.0000-1.000 06.0000-0.26 6 7-3.76272.7303 3.1 863 1.00 0 00 01.0000-4.00 0 0 2 6.000 01.26 6 7 5.00 0 0-0.0182-18.535610.7592 1.0 0 0 000-7.00003 0.00 0 04.60 0 021.7288-1 1.1 1 48-59.930629.2
18、1 790.98561.0 0000*1.0e+030.00 2 0-0.0030-0.0 0 1 00.00200.001 00.0 02 00.0 0 1 00.00500.010 00.00700.00200.00200.004 000000.003 00.0 02 000000.0 0 100.0 0 20-0.0030-0.00200.0 0 1 0-0.0 0100000.01500.0 1 3 00.03100.0 4 0 00.054 00.063 00.0 6500000-0.003 90.0 1 5 50.03410.07030.0 927 0.1261000000.041
19、70.05180.1 7280.33610.56170 0 0-0.267 20 0 01 669-0.34950 0 00.9 987-1.85620 0 00-0.72 2 90 00 0.0062-0.0 297-0.1 2 1 40 0 00-0.0 840-0.0 0 0000 0 00 0l.Oe+03*0.0 05 00.0 0 20-0.0 0 200.01200.0 1 960.05940.0 0 5 8-0.07 180.84281.849 88.3 7 7 84 1.27 141 0.5 27 830.7 3 80-2 8.0 4 387.35 5 0-14.8 4783
20、.72733.91 2 1-2.5589四、结果分析和讨论LU 分解所得到的结果 x=(8 .3 778,4 1.2 7 1 4 ,1 0.5 2 7 8,3 0.7 3 8 0 ,-2 8.0 4 3 8 ,7.3 5 5 0,-1 4.8 4 7 8,3.72 73,3.9 1 2 1,-2.5 5 8 9 ),与精确解具有彳艮大的误差。这是由于系数矩阵自身的数值性质所决定的,由于计算过程中并未进行选主元的过程,所以由系数矩阵产生的L和U矩阵就具有了很大的数值问题。由L和U所求出的x和y就会产生很大的误差。这是由矩阵自身的数值问题所引起的,与算法自身无关,消除误差的关键在于计算过程中需要进
21、行选主元。五、完毕题目的体会与收获对于其他解线性方程组的方法来看,L U分解是较为高效的,理解并纯熟运用L U分解对于学习数值计算与解线性方程组都有很大的帮助。在进行分解的过程中应注意矩阵的数值问题与如何选取主元的问题,这样才干得到方程组的精确解,否则将产生非常大的误差。在进行分解时应当格外注意,由于系数矩阵存在很多的数值问题。(2)设对称正定阵系数阵线方程组x*=(1,-1,0,2,1-1,0,2/-42-402400%-0-22-1-21320 6-4-1141-8-356了3200-216-1-4-332321-8-1224-10-3九5943-3-44111-4-22025-3-101
22、142入7-150063-3-4219_X8_45 _二、数学原理1、平方根法解n 阶线性方程组Ax=b 的ch o lesk ly 方法也叫做平方根法,这里对系数矩阵A是有规定的,需要A是对称正定矩阵,根据数值分析的相关理论,假如A对称正定,那么系数矩阵就可以被分解为的A=LU 形式,其中L是下三角矩阵,将其代入Ax=b中,可得:LLTx=b进行如下分解:y=Ux x=p f p f(A,b)x=1 2 1.1 4 8 1-1 4 0.1 1 2 72 9.75 1 5-6 0.1 5 2 81 0 .9 1 2 0-2 6.7 9 6 35.4 2 5 9-2.0 1 8 52、改善平方根
23、法fu n c t i o n x=i m p r o v ech o 1 e s k y(A,x=bL =z er o s (n,n);D=d i a g (n,0);S=L *D;f o r i=l:nL (i,i )=1;en dfo r i =1:nf o r j=l:ni f(e i g (A)n =8;x=i m p r o v e ch o l es k y(A,b,n)x=1 2 1.1 4 8 1-1 4 0.1 1 2 72 9.75 1 5-6 0.1 5 2 81 0.9 1 2 0-2 6 .79 6 35.4 2 5 9-2.0 1 8 5四、结果分析和讨论平方根法
24、和改善平方根法求解线性方程组的解为x=(1 2 1.1 4 8 1,-1 4 0.1 1 2 7,2 9.751 5,-6 0.1 5 2 8,1 0.9 1 2 0,-2 6.7 9 6 3,5 .4 2 5 9,-2.0 1 8 5 )与精确解相比较也存在很大的误差,虽然系数矩阵的对角元素都大于零,原则上可以不必选择主元,但由于矩阵的数值问题较大,不选主元的结果就是产生很大的误差,所以在求解的过程中还是应当选择主元以此消除误差,提高精度。五、完毕题目的体会与收获对称正定矩阵的平方根法及改善平方根法是目前解决这类问题的最有效的方法之一,合理运用的话,可以产生很好的求解效果。改善平方根法较平方
25、根法,由于不用进行开方运算,所以具有一定的求解优势。通过求解此题,使我学会了如何运用Matlab编程来解决平方根法和改善平方根法问题。(3)三对角形线性方程组4-100000000-14-100000000-14-100000000-14-100000000-14-100000000-14-100000000-14-100*X(2,1,-3,0,1,-2,3,0,1,-1/二、数学原理设系数矩阵为三对角矩阵*q0 -000、a2b2C2 一 000A=044,.00000o.an-如%0o 0a.bn 则方程组Ax=f称为三对角方程组。设矩阵A非奇异,A有C rou t分解A=LU,其中L为下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 数值 计算 作业
限制150内