当前位置:首页 > 拉格朗日插值和牛顿插值多项式的C程序算法毕业论文
w2表示w2?(x?x0)?(x?xn?1)(x?xn),l=
L?w2b2,L=L+l,另d=(因为牛顿插值
cw1法中,每一项只乘到(x?xn?1),而不是(x?xn)所以要把多余的(x?xn)除掉),通过累加,p=p+d,最终用P表示newx的牛顿插值。
S9:执行完S7和S8之后,由用户选择继续重新运算还是退出; S10:如果用户在S6中选择的是0,则直接退出程序; 4.2程序源码编写 #include \int main() {
int Flag = 1; float x[20],y[20]; int k,j,i,flag;
float a,b1,b2,c,d,e,f,w1,w2,l,L,newx,P; w1=1; w2=1; L=0; P=0;
while(Flag == 1) {
printf(\请输入[0,20]之间的数据。\\n\printf(\输入的数据为几组:\\n\scanf(\if(j>20||j<=0) { }
printf(\请输入[0,20]之间的数据。\\n\printf(\输入的数据为几组:\\n\scanf(\
else {
for(k=0;k<=j-1;k++) {
b1=x[k]; b2=y[k];
for(i=0;i<=j-1;i++) {
a=x[i]; c=newx-a; w1=w1*c; e=b1-a; if(e!=0) {
for(i=0;i<=j-1;i++) { }
printf(\请选择:1,拉格朗日插值。2,牛顿插值。0,退出。\\n\scanf(\if(flag==1) {
printf(\请输入插入的数值:\scanf(\
printf(\第%d组为:\\n\printf(\scanf(\printf(\scanf(\
}
}
}
w2=w2*e;
if(e==0) { }
e=e+1; w2=w2*e;
d=newx-b1; f=d*w2;
/* printf(\
l=b2*w1/f;
/* printf(\ }
printf(\
L=L+l; w1=1; w2=1;
if(flag==2) {
printf(\请输入插入的数值:\scanf(\for(f=0;f<=j-1;f++) {
for(k=0;k<=f;k++) {
b1=x[k]; b2=y[k];
}
}
for(i=0;i<=f;i++) { }
l=b2/w1; L=L+l; w1=1; c=newx-b1; w2=w2*c; a=x[i]; e=b1-a; if(e!=0) { }
else if(e==0) { }
e=e+1; w1=w1*e; w1=w1*e;
d=L*w2/c; w2=1; P=P+d; L=0;
printf(\}
printf(\
printf(\请选择 :1 继续 。2 退出 。\\n\
共分享92篇相关文档