首页 > 解决方案 > 拉格朗日插值如何包含区间

问题描述

我必须有这个输入。不幸的是,我不知道如何包含区间 a、b。请帮忙

插值节点的数量,a, b, a < b, 函数 f 在节点点的值。预期输出:拉格朗日多项式是“均匀确定”插值节点中给定函数的插值。

#include<iostream>
using namespace std;


int main()
{
    double xtab[1000], ytab[1000], results[1000];
    cout<<"Enter how many x and y"<<endl;
    int quantity;
    cin>>quantity;
    cout<<"Provide an argument to calculate"<<endl;
    int value;
    cin>>value;
    for(int i=0; i<quantity; i++)
    {
        cout<<"enter x number"<<i+1<<": ";
        cin>>xtab[i];
        cout<<"enter y number"<<i+1<<": ";
        cin>>ytab[i];
    }
    for(int i=0; i<quantity; i++)
    {
        results[i]=ytab[i];
        for(int k=0; k<quantity; k++)
        {
            if(xtab[i]!=xtab[k])
            {
                results[i]*=(1.000*value-xtab[k]);
            }
        }
        for(int k=0; k<quantity; k++)
        {
            if(xtab[i]!=xtab[k])
            {
                results[i]/=(1.000*xtab[i] -xtab[k]);
            }
        }

    }
    double sum =0;
    cout<<"---------------"<<endl<<"The value of the expression is: ";
    for(int i=0; i<quantity; i++)
    {
        if(i!=0)
            cout<<" + ";
        suma+=(results[i]*1.000);
        cout<<results[i];
    }
    cout<<" = "<<sum<<endl;
    return 0;
}

标签: c++interpolation

解决方案


推荐阅读