计算方法:插值.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算方法:插值

计算方法:函数插值 目的:运用计算机方便地求解函数值和进行微积分等计算 思路:寻找列表函数的近似解析表达式 (不知道 f(x) 的函数表达形式) 插 值 法 拉格朗日(Lagrange)插值 由两点式可看出, L1(x) 是由两个线性函数 线性插值图示 二次插值(三点插值或抛物线插值) 二次插值(三点插值或抛物线插值) 利用三个二次插值基函数可组合成二次插值多项式 n次插值 用11点构造10次多项式插值的龙格现象 某些点插值结果误差很大,函数两端震荡加剧 在节点很多的场合,通常不宜采用高次插值 分段的低阶插值往往效果更好 例: 已知函数表 C语言:插值计算水的物性 #include stdio.h #include stdlib.h #include math.h #ifndef lagi3 #define lagi3 #include lagi3.cpp #endif float water(float tm1, int a){ static float t[11], mr[6][11]; static int n=0; float y; FILE *in; int itm, i; if(n==0){ n=11; if((in=fopen(water.txt,r))==NULL) {printf(Cannot open input file.\n); exit(0);} fscanf(in,%d,itm); do{ while((i=fgetc(in))!=10); /*printf(%c,i); printf(\n);/**/ itm--;} while(itm0); for(i=0;in;++i){ fscanf(in,%f,t[i]); fscanf(in,%f,mr[0][i]); lagi3.cpp #include stdio.h float lagi3y(int n,float a[],float b[],float x){ static int i=0; static float xold=-999.; int flag,i0,ie; float y,x1,x2,x3,z1,z2,z3; if(xold!=x) {i0=0;ie=n-3;i=(i0+ie)/2; if(a[i0]a[ie]) flag=1; else flag=-1; while(i!=ie){ if(x*flag(a[i+1]+a[i+2])/2*flag) i0=i+1; else ie=i; i=(i0+ie)/2;} // printf(%f %f\n,a[i],x);xold=x; } * LOGO * LOGO 什么叫插值? 31.164 19.923 12.34 7.3766 4.2474 2.3346 1.2262 0.6082 饱和蒸汽压kN/m2 292.99 70 251.12 60 209.30 50 167.51 40 125.69 30 83.90 20 42.04 10 0 0 焓 kJ/kg 温度 oC 如何查水在27oC、32.7oC的饱和蒸汽压和焓? 水的物理性质 函数关系:函数值和自变量的关系以表格给出,称列表函数 列表函数的特点: ① 自变量与函数值一一对应; ② 函数值有很可靠的精确度; ③ 自变量与函数间的解析表达式可能不清楚,或者解析表达式非常复杂不便于计算(如为无穷级数等); ④ 没有直接给出未列出点的函数值,不便于进行微分和积分以及计算机计算。 代数插值问题描述(怎样进行插值) 列表函数例 在区间上连续 设函数 已知函数 f (x) 在各点(x0 , x1 …)上的值 方法:建立一个次数不超过n的代数多项式 P(x) 来近似 f(x) 31.164 19.923 12.34 7.3766 4.2474 2.3346 1.2262 0.6087 饱和蒸汽压f(x) x7= 70 x6= 60 x5= 50 x4= 40 x3= 30 x2= 20 x1= 10 x0= 0 温度x 用代数多项式P(x)近似列表函数 y 插值方式: 全节点插值——用全部节点构造插值多项式(通过全部节点) 分段插值——只用部分节点构造插值多项式(只通过部分节点) 本节讨论 一元n 次拉格朗日插值(n +1个点) 线性插值(2个节点) 抛物线插值(3个节点) 条件:满足 Pn(xi)=yi (i=0,1,…n) Pn(x)称为函数 f(x) 的插值多项式 点 x0, x1, … xn 叫做插值节点 [a,b]为插值区间。 y7= 31.164 y6= 19.923 y5= 1

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档