数值分析实验报告(共23页).docx
《数值分析实验报告(共23页).docx》由会员分享,可在线阅读,更多相关《数值分析实验报告(共23页).docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数值分析实验报告姓名:张献鹏学号:专业:冶金工程班级:重冶二班专心-专注-专业目录1拉格朗日插值1.1问题背景对于函数,求拉格朗日插值。,把和插值多项式的曲线画在同一张图上进行比较,观察数值积分中的Lagrange插值。1.2数学模型取等距差值节点xk=-5+10k/n,k=0,1,.,n,构造n次lagrange插值多项式:Ln=i=0n11+xi2wn+1(x)(x-xi2)wn+1(xi)当n=10时,十次插值多项式L10(x)以及函数f(x)的图像可以由Matlab画出。1.3计算方法f.m:function f= f( x )f=1./(1+x.2);end
2、Lagrange.mfunction y=Lagrange(x0,y0,x);n=length(x0);m=length(x);for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j=k p=p*(z-x0(j)/(x0(k)-x0(j); end end s=p*y0(k)+s; end y(i)=s;End拉格朗日插值的曲线:x=-5:1:5;y=1./(1+x.2); x0=-5:0.001:5;y0=Lagrange(x,y,x0); y1=1./(1+x0.2); plot(x0,y0,b) hold on plot(x0,y
3、1,r)运行这个文件可以得到如下拉格朗日图形曲线:1.4数值分析L10(x)的断误差R10(x)= f(x)-L10(x)在区间-5,5的两端非常大。例如,L10(4.8)=1.80438,而f(4.8)=0.04160。这种现象称之为龙格现象。不管n取多大,Runge现象依然存在。因此,对函数作插值多项式时,必须小心处理,不能认为差值节点取得越多,差值余项就越小。此外,当节点增多时,舍入误差的影响不能低估。为了克服高次插值的不足,应采用分段低次插值。2复化辛普森求积公式2.1问题背景用复化Simpson公式计算定积分e2=12xexdx的近似值,要求误差限=1/210-7,利用其余项对算法做
4、出步长的事前估计;并将计算结果与精确值进行比较。2.2数学模型将积分区间a,b分为n等分,h=(b-a)/n,xk=a+ k h,k=0,1,n。在每个子区间xk,xk+1上用Simpson公式可得:abfxdx=k=0n-1f(x)dxh6k=0n-1fxk+4fxk+12+f(xk+1)其中xk+1/2=xk+1/2h。Snf=h6k=0n-1fxk+4fxk+12+fxk+1=h6fa+4k=0n-1fxk+12+2k=1n-1fxk+f(b)此式即为复化Simpson公式。设f(x)C4a,b,由Simpson公式的误差有Rsn=I-Sn=k=0n-1-190h25f4(k),kxk,
5、xk+1。则复化Simpson公式的余项为:Rsn=-b-a2880h4f4(k),ka,b复化Simpson公式四阶收敛。2.3计算方法程序1(求f(x)的n阶导数):syms xf=x*exp(x) %定义函数f(x)n=input(输入所求导数阶数:) f2=diff(f,x,n) %求f(x)的n阶导数程序2:clcclearsyms x %定义自变量xf=inline(x*exp(x),x) %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline(4*exp(x) + x*exp(x),x) %定义f(x)的四阶导数,输入程序1里求出的f2即可f3=-
6、(4*exp(x) + x*exp(x) %因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,一边求最大值e=5*10(-8) %精度要求值 a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的四阶导数的最小值点,也就是求四阶导数的最大值点对应的x值for n=2: %求等分数n Rn=-(b-a)/180*(b-a)/(2*n)4*f2(x1) %计算余项 if abs(Rn)0(i=0,1,.,n)则求积公式是稳定的。3矩阵的LU分解3.1问题背景矩阵的LU分解主要用来求解线性方程组或者计算行列式。在使用初等行变换法求解线性方程组的过
7、程中,系数矩阵的变化情况如下:A=12-1310-1-1-2经过E12(-3)、E13(1)、E23(1/5)可得到12-10-5300-12/5。由上可知:E23(1/5)E13(1)E12(-3)A=U其中U就是上面矩阵A经过行变换后的上三角矩阵,Eij表示将i行元素与j行元素互换的初等矩阵;Eij(k)表示将i行元素的k倍加到j行上。因此:A=E12(3)E13(-1)E23(-1/5)A=12-1310-1-1-2=-1-1/5112-10-5300-12/5=LU如果方阵A可以分解成单位下三角矩阵L与上三角矩阵U的乘积,则式A=LU称为A的LU分解或三角分解。3.2数学模型3.2.1
8、理论基础矩阵的LU分解在求解线性方程组时将十分简便。如对线性方程组Ax=b,设A=LU是其LU分解。我们先求解方程组Ly=b。由于L是下三角矩阵,则解向量y可以通过依次求出其分量y1,y2,yn而求出,再求解方程组Ux=y。解向量x可以通过该方程组依次求出分量xn,xn-1,x2,x1而快速得出。于是由两个方程组Ux=y,Ly=b的求解而给出LUx=Ly=b=Ax的解。若矩阵A非奇异,则A能分解为LU的充分必要条件是A的顺序主子行列式不为0。1=a110,2=a11a12a21a22,3=a11a1nan1ann则存在惟一的主对角线上元素全为1的下三角阵L与惟一的上三角阵U,使得A=LU。3.
9、2.2实例将矩阵进行LU分解。3.3计算方法程序:clear allclc A=input(请输入一个方阵 );%输入一个n阶方阵n,n=size(A);L=zeros(n,n);U=zeros(n,n);for i=1:n %将L的主对角线元素赋值1 L(i,i)=1;endfor j=1:n %求矩阵U的第一行元素 U(1,j)=A(1,j);endfor k=2:n %求矩阵L的第一列元素 L(k,1)=A(k,1)/U(1,1);endfor i=2:n %求L、U矩阵元素 for j=i:n s=0; for t=1:i-1 s=s+L(i,t)*U(t,j); end U(i,j)
10、=A(i,j)-s; end for k=i+1:n r=0; for t=1:i-1 r=r+L(k,t)*U(t,i); end L(k,i)=(A(k,i)-r)/U(i,i); endend%输出矩阵L、ULU输入一个方阵,输出结果如下:3.4小组元的误差例如线性方程组Ax = b,其中:A=0111,b=10,可得理论解x=-11。如果系数矩阵被扰动成=10-20111,可手算知:L=1010-201,U=10-20101-10-20。若上述过程在计算机中进行,由浮点数运算规则可知,两数相加时,大数吃掉小数,则计算机中产生的矩阵为:A=,L=L,U=10-2010-10-20这时会发
11、现LU=10-20110,且据LUx=b解出的理论解x=01,明显不再等于前面的理论解。这说明LU分解是稳定的,但是将LU分解用到解线性方程组上是不稳定的。究其原因,是因为U中的第一个主元10-20太小,导致第二个主元中的1与值10-20相差悬殊,出现大数吃小数。为了避免上述危害,引入一种选主元手段,即在消去的过程中,通过适当的选主元,避免放大数据误差。常用的选主元技术就是列选主元法(除此之外还有全选主元法、对角选主元法和随机选主元法等):对mn阶矩阵A,在确定第k个主元akjk(k)(jkk)时,先从该列自主元位置(k,jk)至列尾的所有元素中选择绝对值最大的元素,与akjk(k)交换,然后
12、将ak+1,jk(k),an.jk(k)化为零。继续这个过程,直至将矩阵A化为行阶梯形。4二分法求方程的根4.1问题背景在科学研究与工程计算中,常遇到方程(组)求根问题。若干个世纪以来,工程师和数学家花了大量时用于探索求解方程(组),研究各种各样的方程求解方法。对于方程f(x)=0,当f(x)为线性函数时,称f(x)=0为线性方程;当f(x)为非线性函数时,称式f(x)=0为非线性方程。对于线性方程(组)的求解,理论与数值求法的成果丰富;对于非线性方程的求解,由于f(x)的多样性,尚无一般的解析解法。当f(x)为非线性函数时,若f(x)=0无解析解,但如果对任意的精度要求,设计迭代方程,数值计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 实验 报告 23
限制150内