⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 插值函数.cpp

📁 拉格朗日插值的计算
💻 CPP
字号:
// 插值函数.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include"stdio.h"  
  #include"stdlib.h"   
  #include"iostream.h" 
int main(int argc, char* argv[])

{
     float Lagrange(float a[], float b[], int , float );



    float x;//插值点
    float xpoint[10];
    float ypoint[10];//已知(x0,y0),(x1,y1)
    int n;//输入已知插值组数

    cout<<"输入插值组数:";
    cin>>n;
    cout<<"输入"<<n<<"组已知插值数(x,y)"<<endl;
    for(int i=0; i<n; i++)
    {
        cin>>xpoint[i]>>ypoint[i];
    }
    cout<<"输入插值:";
    cin>>x;

    cout<<"Lagrange插值结果:"<<Lagrange(xpoint, ypoint, n, x)<<endl;

    system("pause");


	  

   
  return 0;


    
}
float Lagrange(float a[], float b[], int n, float x)
{//a,b:插值点(x,y) n:插值点个数  x:待计算的函数点
    float y = 0;
    for(int k=0; k<n; k++)//k控制Lagrange基函数序列
    {
        float tmp = 1;//tmp表示Lagrange基函数
        for(int i=0;i<n;i++)
        {
            if(i!=k) 
            {
                tmp = tmp * (x-a[i])/(a[k]-a[i]);  //差集
            }
        }
        y = y + b[k]*tmp;//f(x)
    }
    return y;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -