matlab插值求解数值计算设计.pdf

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

拉格朗日插值法

(*以下定义选自维基百科)

1.

includeiostream

2.

#includestring

3.

#includevector

4.

usingnamespacestd;

5.

6.

doubleLagrange(intN,vectordoubleX,vectordoubleY,doublex);

7.

8.

intmain(){

9.

chara=n;

10.

do{

11.

请输入差值次数n的值:的值:

12.

intN;

13.

cinN;

14.

vectordoubleX(N,0);

15.

vectordoubleY(N,0);

16.

请输入插值点对应的值及函数值(Xi,Yi)::

17.

for(inta=0;aN;a++){

18.

cinX[a]Y[a];

19.

}

20.

请输入要求值x的值:的值:

21.

doublex;

22.

cinx;

23.

doubleresult=Lagrange(N,X,Y,x);

24.

由拉格朗日插值法得出结果:由拉格朗日插值法得出结果:

25.

是否要继续?(y/n)::

26.

cina;

27.

while}(a==y);

28.

return0;

29.

}

30.

31.

doubleLagrange(intN,vectordoubleX,vectordoubleY,doublex){

32.

doubleresult=0;

33.

for(inti=0;iN;i++){

34.

doubletemp=Y[i];

35.

for(intj=0;jN;j++){

36.

if(i!=j){

37.

temp=temp*(x-X[j]);

38.

temp=temp/(X[i]-X[j]);

39.

}

40.

}

41.

result+=temp;

42.

}

43.

returnresult;

44.

};

牛顿插值法

#includeiostream

#includestring

#includevector

usingnamespacestd;

doubleChaShang(intn,vectordoubleX,vectordoubleY);

doubleNewton(doublex,vectordoubleX,vectordoubleY);

intmain(){

intn;

cinn;

vectordoubleX(n,0);

vectordoubleY(n,0);

for(inti=0;in;i++){

cinX[i]Y[i];

}

doublex;

cinx;

coutNewton(x,X,Y);

}

doubleChaShang(intn,vectordoubleX,vectordoubleY){

doublef=0;

doubletemp=0;

for(inti=0;in+1;i++){

temp=Y[i];

for(intj=0;jn+1;j++)

if(i!=j)temp/=(X[i]-X[j]);

f+=temp;

}

returnf;

}

double

文档评论(0)

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

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

1亿VIP精品文档

相关文档