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