Newton插值法算法程序(C语言)

用C语言实现Newton插值法,
算法程序如下:
#include<stdio.h>
void main()
{
    float x[11],y[11][11],xx,temp,newton;
    int i,j,n;
    printf("Newton插值:\n请输入要运算的值:x=");
    scanf("%f",&xx);
    printf("请输入插值的次数(n<11):n=");
    scanf("%d",&n);
    printf("请输入%d组值:\n",n+1);
    for(i=0;i<n+1;i++)
    {
        printf("x%d=",i);
        scanf("%f",&x[i]);
        printf("y%d=",i);
        scanf("%f",&y[0][i]);
    }
    for(i=1;i<n+1;i++)
        for(j=i;j<n+1;j++)
        {
            if(i>1)
                y[i][j]=(y[i-1][j]-y[i-1][j-1])/(x[j]-x[j-i]);
            else
            y[i][j]=(y[i-1][j]-y[i-1][j-1])/(x[j]-x[j-1]);        
            printf("%f\n",y[i][j]);
        }
    temp=1;newton=y[0][0];    
    for(i=1;i<n+1;i++)
    {
        temp=temp*(xx-x[i-1]);
        newton=newton+y[i][i]*temp;
    }
    printf("求得的结果为:N(%.4f)=%f\n",xx,newton);
}



[本日志由 somarange 于 2008-03-18 08:32 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: C语言 数值分析
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.