网站大量收购闲置独家精品文档,联系QQ:2885784924

实验插值法.docVIP

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验插值法

实验二 插值法 实验目的: 1、掌握直接利用拉格郎日插值多项式计算函数在已知点的函数值;观察拉格郎日插值的龙格现象。 2、了解Hermite插值法、三次样条插值法原理,结合计算公式,确定函数值。 2、实验要求: PC机一台,C语言、PASCAL语言、Matlab任选 3、实验内容: 1) 用拉格郎日插值公式确定函数值;对函数f(x)进行拉格郎日插值,并对f(x)与插值多项式的曲线作比较。 已知函数表:(0.56160,0.82741)、(0.56280,0.82659)、(0.56401,0.82577)、(0.56521,0.82495)用三次拉格朗日插值多项式求x=0.5635时函数近似值。 2) 用Hermite插值公式,对函数f(x)进行三次样条插值。 已知函数表:(1,2)、(2,3)及对应导数值(1,0)、(2,-1),求出满足上述条件的两点三次插值多项式,及在1.5,1.7处的函数值。 4、题目: 插值法 5、原理: 拉格郎日插值原理: 已知函数y=f(x)在n+1个不同的点x0 ,x1 ,…,x2 上的函数值分别为 y0 ,y1 ,…,yn ,求一个次数不超过n的多项式Pn (x),使其满足 Pn (xi )=yi , (i=0,1,…,n), 即n+1个不同的点可以唯一决定一个n次多项式。 1. 插值基函数 过n+1个不同的点分别决定n+1个n次插值基函数 l0 (x),l1 (x),…,ln (X) 每个插值基本多项式li (x)满足: (1) li (x)是n次多项式; (2) li (xi )=1,而在其它n个li (xk )=0 ,(k≠i)。 由于li (xk )=0 ,(k≠i), 故有因子: (x-x0 )…(x-xi-1 )(x-xi+1 )…(x-xn ) 因其已经是n次多项式,故而仅相差一个常数因子。令: li (x)=a(x-x0 )…(x-xi-1 )(x-xi+1 )…(x-xn ) 由li (xi )=1,可以定出a, 进而得到: Hermite插值 Hermite插值是利用未知函数f(x)在插值节点上的函数值及导数值来构造插值多项式的,起其提法为:给定n+1个互异的节点x0,x1,……,xn上的函数值和导数值 求一个2n+1次多项式H2n+1(x)满足插值条件 H2n+1(xk)=yk H2n+1(xk)=yk k=0,1,2,……,n (13) 如上求出的H2n+1(x)称为2n+1次Hermite插值函数,它与被插函数 一般有更好的密合度.拉格朗日插 n + 1个点x0, x1, ... xn(x0 x1 ... xn)的函数f(x0), f(x1) , ... , f(xn)推出n次多項式p(x),然后n次多項式p(x)求出任意的点xf(x)的算法。Hermite插值将待求的n次插值多项式Pn(x)改写为具有承袭性的形式,然后利用插值条件确定Pn(x)的待定系数,以求出所要的插值函数。#includeiostream #includemath.h #define N 4 using namespace std; double fun(double *x,double *y, int n,double p); void main() { int i; double a[N],p; double b[N]; cout please input xiangliang a= endl; for(i=0;iN;i++) { cina[i];} coutplease input xiangliang b= endl; for(i=0;iN;i++) {cinb[i];} coutplease input LagelangrichazhiJieDian p= endl; cinp; coutThe Answer= fun(a,b,N,p)endl; } double fun(double x[],double y[], int n,double p) { double z=0,s=1.0; int k,i=0; double L[N]; k=0; while(kn) { if(k==0) { for(i=1;in;i++) {s=s*(p-x[i])/(x[0]-x[i]); } L[0]=s*y[0]; k=k+1; } else { s=1.0; for(i=0;i=k-1;i++) { s=s*((p-x[i])/(x[k]-x[i])); } for(i=k+1;

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档