




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 47昆明理工大学数值分析上机报告数值分析实验报告姓 名:学 号:专 业:材料学学 院:云南省新材料制备与加工重点实验室授课教师:XX231006昆明理工大学研究生院数值分析实验报告数值积分问题问题的提出在微积分中,积分值是通过原函数的解析式求得的,然而原函数的寻找往往比较困难,许多积分函数甚至找不到用初等函数表示的原函数。为此研究数值积分问题是非常必要的。数值积分的至今普遍应用主要有三种:梯形公式、2 / 47Simpson 公式及其复化形式、Romberg 算法。本实验只要选用复合梯形公式、复合 Simpson 公式及 Romberg 算法对特定某个积分,例如:ln(1?x)?01?x2 进行数值计算,比较分析两种算法的结果,理解数值积分法的意义,明1确数值积分精度和步长之间的关系等。一、 目的和意义1、 深刻理解数值积分的意义:在微积分中,积分值是通过原函数的解析式求得的,然而原函数的寻找往往比较困难,许多积分函数甚至找不到用初等函数表示的原函数;另外,当 f(x)是由测量或者数值计算给出的一张数据表时,牛莱公式也不能直接运用,为此研究数值积分问题是非常必要的。 2、 明确数值积分3 / 47的精度与步长的关系:复化的求积方法对提高精度是行之有效的,但是在使用求积之前必须给出合适的步长,步长取得太大精度难以保证,步长太小则会导致计算量的增加。3、 根据定积分的计算方法,可以考虑二重积分的计算问题:在微积分中,二重积分的计算是用化为累次积分的方法进行的。计算二重数值积分也同样采用累次积分的计算过程。利用二重积分的复化梯形公式设计如下:?abd4 / 47bdacf(x,y)dydxa,b,c,d 为常数,f 在 D 上连续。将它变为化累次积分bddb?f(x,y)dydx?f(x,y)dydx?f(x,y)dx?dy?c?aa?c?ch?b?ad?c,k?做等距节点,x 轴,y 轴分别有:mn先计算5 / 47?dcf(x,y)dy,将 x 作为常数,有?dnf(x,y)dy?k?1?11?f(x,y)?f(x,y?c?20?j)?f(x,yn)j?12?再将 y 作为常数,在 x 方向,计算上式的每一项的积分6 / 471bm?2?af(x,yn)dx?h?112?2f(x0,yn)?f(xi,yn)?1f(x?m,yn)?i?12?1bm?2?af(x,yh?111?0)dx?2?2f(x0,y0)?f(xi,y0)?f(xm,y0)?i?12?bn?1n?1ba?f(x,yj)dx?j?1?1?a7 / 47f(x,yj)dxj?n?1?h?1m?1f(x?1f(x?0,yj)?f(xi,yj)m,yj)j?1?2i?12?n?1?h?1f(x,y1?n?1m?10j)?f(xm,yj)?h?f(xi,yjj?1?22?)j?1i?1?b?8 / 47d1acf(x,y)dydx?hk4?f(x0,y0)?f(x0,yn)?f(xm,y0)?f(xm,y0)?m?1n?1n?1 ?1?2?m?f(x(x?1i,y0)?0,yj)?i?1?f(xi,yn)?i?1?fj?1?f(xm,yj)?j?1?9 / 47n?1m?1n?1m?1 ?f(xi,yj)?hkj?1i?1?ci,jf(xi,yj)j?1i?1系数,在积分区域的四个角点为 1/4,4 个边界为 1/2,内部节点为 1。二、计算公式关于复化梯形、复化 Simpson 公式及 Romberg 公式在以下给出。 1、 公式 1) 复化梯形公式nThf(x(xhn?1n?k?1)?fk)?f(a)?2k?122?f(xk)?f(b)10 / 47k?12) 复化 Simpson 公式n?1n?1hhSn?f(xk?1)?4f(x1)?f(xk)?f(a)?4?f(x1)?2?f(xk)?f(b)k?k?6k?16k?1k?122n为了便于编程可写成b?af(a)?f(b)nSn?2f(x1)?f(xk)11 / 47k?3n2k?123)Romberg 公式Romberg 积分法是通过用余项公式对梯形法则的误差与步长、Simpson 公式误差与步长等进行比较,逐步研究推导而得出。本程序用 Romberg 数值积分公式计算定积分使相邻两次的近似值的绝对值或者相对误差小于给定的误差限?,I?f(x)dx 的近似值,abRomberg 公式:Rn?(64/63)C2n?(1/63)Cn三、结构程序设计/复化梯形和复化 Simpson 算法 #include #include double SIMP1(double,double,int); double FUTX(double,double,int); double Func(double); void 12 / 47main() / double a1,b1,x; int n1; a1=; b1=;n1=20;/可设定具体的分段数 n=10 或者 20 printf(“%.10fn”,SIMP1(a1,b1,n1); printf(“%.10fn”,FUTX(a1,b1,n1); printf(“ntime=%fn”,Atime/60);double Func(double x) return(log(1+x)/(1+x*x);double SIMP1(double a1,double b1,int n1) int i; double h,s; h=(b1-a1)/(2*n1);s=*(Func(a1)-Func(b1); for(i=1;i s+=2*Func(a1+(2*i-1)*h)+Func(a1+2*i*h);return(b1-a1)*s/(3*n1);double FUTX(double a1,double b1,int n1) int i; 13 / 47double t,h; h=(b1-a1)/n1; t=Func(a1)+Func(b1); for (i=1;i t+=2*Func(a1+i*h);return(t*h/2);/龙贝格数值积分算法 #include #include #include double ROMBG(double,double,double,double,double,double);数值分析实验报告姓 名:学 号:专 业:材料学学 院:材料与冶金工程学院授课教师: XX20206614 / 4706 工科硕士 数值分析上机实验报告专业: 材料学 姓名:牛延龙 学号: XX202066 任课教师: 作业完成实验室:实验内容:1题目/要求:函数插值方法一、问题提出对于给定的一元函数 y?f?x? 的 n+1 个节点值 yj? fxj?j?0,1,?,n?。试用 Lagrange 公式求其插值多项式或分段二次 Lagrange 插值多项式。 数据如下: 求五次 Lagrange 多项式 L5,和分段15 / 47三次插值多项式,计算? 的值。用三点插值或二点插值,其结果如何; 4、 对此插值问题用 Newton 插值多项式其结果如何。2作业环境(包括选用的程序语言、运行环境)本题中的插值多项式程序采用的编程语言为 c+,因此运行环境可以在装有 Microsoft VC+的 windows XP 或 2000 的系统下运行程序。3数学描述在生产实践和科学研究所遇到的大量函数中,相当一部分是通过测量或实验得到的。虽然其函数关系 y=f(x)在某个区间a,b上是客观存在的,但是却不知道具体的解析表达式,只能通过观察、测量或实验得到函数在区间a,b上一些离散点上的函数值、导数值等, 因此,希望对这样的函数用一个比较简单的函数表达式来近似地给出整体上的描述。还有些函数,虽然有明确的解析表达式,但却过于复杂而不便于进行理论分析和数值计算,同样希望构造一个既能反映函数的特性又便于计算的简单函数,16 / 47近似代替原来的函数。插值法就是寻求近似函数的方法之一。在用插值法寻求近似函数的过程中,根据所讨论问题的特点,对简单函数的类型可有不同的 选取,如多项式、有理式、三角函数等,其中多项式结构简单,并有良好的性质,便于数值计算和理论分析,因此被广泛采用。设函数 y=f(x)在区间a,b上有定义个互异点,y0,y1,.yn 且已知函数在区间a,b上 n+1x0,x1,.xn 上的函数值,若存在一个简单函数y=p(x ),使其经过 y=f(x)上x0,y0),(x1,y1),,(xn,yn) ,即的这 n+1 个已知点(p(xi)= yi, i=0,1,n17 / 47x0,x1,.xn 称为插节点,x,y 点(00),(x1,y1),,那么,函数 p(x)称为插值函数,点(nn) 称为插值点,包含插值节点的区间a,b称为插值区间,求 p (x)的方法称为插值法,f(x)称为被插函数。若 p(x)是次数不超过 n 的多项式,用 Pn(x)表示,即2np(x)?a?ax?ax?.?axn012nx,y则称 n 为 n 次插值多项式,相应的插值法称为多项式插值;若 P(x)为分段多项式,称为分段插值,多项式插值和分段插值称为代数插值。18 / 47p(x)4数值计算公式1Lagrange 插值公式:?n?x?xiLn?x?k?0?i?0xk?xi?i?k2分段三次插值公式n?yk ?n19 / 47Ih(x)?fi?i(x)?fi?i(x),i?0其中 Ih(xi)?fi,Ih(xi)?fi(i?0,1,20 / 47);?i(x),?i(x)如下:?x?xi?1?2?1?2x?xi?,xi?1?xi?xi?1?xx?xi(i?0略去)i?1?xi? ?x?x2i?1?x?xi?i(x)?x?1?2i?xi?1x?,xi?x?xi?1(i?0 略去)i?1?xi?0 ,其他?x?xi?1?x?x?xi?,xi?1?x?xi(i?0 略去)?i?xi?1?(x)?x?xi?1?i?x?xi?,xi?x?xi?1(i ?xi?x?n 略去)i?1?21 / 47?0,x 在其余地方?5算法程序流程与程序结构(程序中的函数调用关系)参数说明:X 双精度实型一维数组,长度为 n。存放 n 个不等距结点的值。Y 双精度实型一维数组,长度为 n。存放 n 个不等距结点上的函数值。 n 整型变量。给定不等距结点的个数。 t 双精度实型变量。指定插值点的值。 k 整型变量。插值时启始结点的位置。 m 整型变量。插值时最后结点的位置。 i,j 整型变量。数组下标。s 双精度实型变量,存放运算过程中间值。z 双精度实型变量,初始值为。存放最终插值。 h 双精度实型变量,给定 n 个结点的步长。 算法描述:1) 全区不等值插值算法输入数据,判断 n 值。22 / 47如果 z=(y1*(t-x0)-y0*(t-x0-h)/h Return(z);若 n=3,则进行全区间插值 For (i=0;i For (j=0;j If (j!=i) s=s*(t-xj)/(xi-xj); z=z+s*yi; 最后返回 z 值。 2) 全区间等值插值算法输入数据,判断 n 值。如果 若 n=3,则进行全区间插值For (i=0; i s=; xi=x0+i*h; For (j=0;j If (j!=i) xj=x0+j*h; s=s*(t-xj)/(xi-xj); z=z+s*yi;最后返回 z 值。 3) 三点等值插值算法输入数据,判断 n 值。如果 如果 n=3,则判断 t 值23 / 47如果 t=x0+(n-3)*h, 则取最后三个结点k=n-3;m=n-1;进行三点二次抛物插值;否则 取离 t 最近的中间三个结点进行插值 i=(int)(t-x0/h)+1;If (fabs(t-x0-i*h)=fabs(t-x0-(i-1)*h) k-i-2;m=I;Else k=i-1;m=m+1; 三点二次插值程序数值分析实验报告姓 名:学 号:专 业:材料学学 院:材料与冶金工程学院授课教师:XX20208024 / 4706 工科硕士 数值分析上机实验报告专业: 材料学 姓名: 学号: XX202080 任课教师: 作业完成实验室:曲线拟合的最小二乘法一、目的和意义在科学实验的统计方法研究中,往往要从一组实验数据?xi,yi?i?0,1,2,?,m?中,寻找自变量 x 与因变量 y 之间的函数关系 y?F?x?。由于观测数据往往不准确,因此不要求 y?F?x?经过所有点?xi,yi?,而只要求在给定点 xi 上误差而只要求所在所有给定点 xi 上的误差?i?F(xi)?yi ?i?0,1,2,?,m?按某种标准最小。若记?0,?1,?2,?,?m?,就是要求向量?的范数?最小。如果用最大范数,计算上困难较大,通常采用欧式范数 2T作为误差度量的标准。F?x?的函数类型往往与实验的物理25 / 47背景以及数据的实际分布有关,它一般含有某些待定参数。如果 F?x?是所有待定参数的线性函数,那么相应的问题称为线性最小二乘问题,否则称为非线性最小二乘问题。最小二乘法还是实验数据参数估计的重要工具。这是因为这种方法比其他方法更容易理解,即使在其他方法失效的情况下,用最小二乘法还能提供解答,而且从统计学的观点分析,用该方法求得各项估计具有最优统计特征,因此这一方法也是系统识别的重要基础。线性最小二乘问题可以借助多元微分学知识通过求解法方程组得到解答。用最小二乘法求拟合曲线时,首先要确定 S?x?的形式。这不单纯是数学问题,还与所研究问题的运动规律以及所得观测数据?xi,yi?有关;通常要从问题的运动规律以及给定数据描图,确定 S?x?的形式,并通过实际计算选出较好的结果。为了使问题的提法更有一般性,通常把最小二乘法中的?22都考虑为加权平方和26 / 4722?xi?S?xi?f?xi?i?0m2这里?xi?0 是?a,b?上的加权函数,它表示不同点?xi,f?xi?处的数据比重不同。?二、计算方法在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量 y 与时间 t 的拟合曲线。本题要求我们用?t?a1t?a2t2?a3t3 对曲线进行拟合,这里27 / 47m?11,?1?t,?2?t2,?3?t3,故?1,?1?ti?0112i?12650,?1,?2?2,?1?ti3?544500,i?01111?2,?2?ti?028 / 47114i?24983750,?1,?3?3,?1?ti4?24983750,i?0115i?3,?2?2,?3?ti?011?1193362500,?3,?3?ti6?58593218750i?01129 / 4711?1,y?tiyi?,?2,y?ti2yi?,i?0i?0?3,y?ti3yi?i?011由于?,?akj30 / 47j?0nj?dj?k?0,1,?,n?, 可以利用此式算出拟合曲线的 ai,即?1,?1?1,?2?1,?3?a1?1,y1?,?,?,?a?,y?21?22?23?2?22? ?,?,?,?a?,y?31?32?33?3?33?所以求得5a1?2.?6?61a02?10?7,a3?10?931 / 47,?t?10?5t?10?7t2?10?9t3,误差为?i?yi?ti?i?0,1,?11?max?i?下图可见实际测出值与拟合值的差别,下表可见拟合出的每一点的误差以及均方误差。t 0 5 10 15 20 25 30 35 40 45 50 55y 0 拟合值 0 误差 0 - - - - -误差平方32 / 470 均方误差 三、结构程序设计在本题使用 Visual Studio c# .NET 编译程序。/在窗体的 Load 事件里调用 InitialDeal 和 Deal 函数来处理数据。 private void ResultReport_Load(object sender, e) (); (); /初始化各个变量。 private void InitialDeal() int i = 0; while( 0) ti+ = (0,(“,”) * tUnit; tString = (0,(“,”) + 1); num = i; i = 0; while( 0) yi+ = (0,(“,”) * yUnit; yString = (0,(“,”) + 1); i = 0; while(i 数值分析实验报告姓 名:学 号:XX231011 专 业:材料学学 院:云南省新材料制备与加33 / 47工重点实验室授课教师:06 工科硕士 数值分析上机实验报告专业: 材料物化 姓名: 学号: XX231011 任课教师: 作业完成实验室:实验内容:1题目/要求:1、 利用 Lagrange 插值公式?n?x?xiLn?x?k?0?i?0xk?xi34 / 47?i?kn?yk 编写出插值多项式程序; ?2、 给出插值多项式或分段三次插值多项式的表达式;3、 根据节点选取原则,对问题用三点插值或二点插值,其结果如何; 对此插值问题用 Newton 插值多项式其结果如何2作业环境(包括选用的程序语言、运行环境) Visual C+ 3数学描述1. Lagrange 插值多项式定义:若 n 次多项式lj(x)(j?0,1,?n)在 n?1 个节点 x0?x1?xn,上满足条件:;当 k?j 时 lj(xk)?0 当 k?j 时,lj(xk)?135 / 47其中 j,k?0,1?n ,就称这 n?1个次多项式 l0(x),l1(x),?ln(x)为节点 x0,x1?xn 上的n 次插值基函数。插值多项式可 表示为:Ln(x)?ylk?0nkk(x),称为 Lagrange 插值多项式。2.分段线形插值就是通过插值点用折线段连接起来逼近 f(x).设已知节点a?x0?x1?xn?b 上的函数值 f1,f2,?fn,ax 记hk?xk?1?xk,h?m36 / 47求一折线函数 Ih(x)满足:khk10 记 Ih(x)?C?a,b?,20Ih(x)?fk(k?0,1,2,),30Ih(x)在每个区间?xk,xk?1?上是线形函数,则称 Ih(x)为分段线形插值函数4数值计算公式n? Lagrange 插值多项式 Lx?nx?xi?n?k?0?yk; ?i?0xk?xi37 / 47i?k(转 载于: 海达 范文 网:昆明理工大学数值分析上机报告) ?分段线形插函数,在每个小区间?xk,xk?1?上可表示为:Ix?xk?1h(h)?xf?x?xkkfk?1 k?xk?1xk?1?xkn在整个区间?a,b?上为:Ih(x)?fjl38 / 47j(x)j?0其中基函数 lj(xk)?jk(j,k?0,1?,n),其形式是:?x?xj?1?x,xj?1?x?xj(j?0);j?xj?1l?xj?xj?1j(x)?x,xj?x?xj?1(j?n);?x?j?1?0,x?a,b?,x?xj?1,xj?1?.39 / 47?,5算法程序流程图Lagrange 插值算法程序流程图分段低次插值算法程序流程图6程序结构(程序中的函数调用关系图6实验数据和实验结果 数值分析实验报告姓 名:学 号:专 业:材料学学 院:材料与冶金工程学院授课教师:XX20206206 工科硕士 数值分析上机实验报告40 / 47专业: 材料学 姓名: 学号:XX202062 任课教师: 作业完成实验室:实验内容:1题目/要求:三次样条插值法一、问题提出二、要求1、满足自然边界条件 S?S?0;2、满足第一类边界条件 S()?,S()?。41 / 473、打印输出用追赶法解出的弯矩向量(M0,M1,.,M4)和S(?)(i?0,1,.,8)的值。并画出 y?S(x)的图形。2作业环境(包括选用的程序语言、运行环境)程序语言 运行环境 WINDOWS XP 3数学描述某些实际问题,如船体放样与机翼设计,要求插值曲线不仅连续而且处处平滑。甚至要求尽可能采用流线型,使气流沿机翼的表面能形成平滑的流线,以减少空气的阻力。换句话说,所谓光滑插值就是既要分段低次又要保证接头光滑。为适应这类需求,借助曲线板来作图,以保证曲线在接头处的光滑。在工程技术如船体放样中,作图员常用“样条”在指定节点间做光滑曲线。光滑插值就是这类作图方法的数学模拟。因此,这类插值称作样条插值。样条插值实际上是一种改进的分段插值,它要求插值函数42 / 47在各分段的衔接处能保持一定程度的光滑性。既要保持插值函数的导数的连续性。在实际应用中,最常用的是三次样条插值,其定义如下:若函数 S?x?C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论