拉格朗日插值法分析報告

2021-03-04 07:31:26 字數 1070 閱讀 4358

1、拉格朗日插值法介紹

1、插值概念簡介

已知在區間上個不同點處的函式值,求乙個至多次的多項式

使其在給定點處與同值,既滿足插值條件

稱為插值多項式,稱為插值節點,稱為插值區間。從幾何上看,次的多項式插值就是過個點,作一條多項式曲線近似曲線。

圖1 多項式曲線以及近似曲線

2、拉格朗日插值法原理

在求滿足插值條件次插值多項式之前,先考慮乙個簡單的插值問題:對節點中任一點,作一n次多項式,使它在該點上取值為1,而在其餘點上取值為零,即

上式表明個點都是次多項式的零點,故可設

其中,為待定係數。由條件立即可得

故由上式可以寫出個次插值多項式。我們稱它們為在個節點上的次基本插值多項式或次插值基函式。

利用插值基函式立即可以寫出滿足插值條件的次插值多項式

根據條件,容易驗證上面多項式在節點處的值為,因此,它就是待求的次插值多項式。

形如的插值多項式就是拉格朗日插值多項式,記為,即

作為常用的特例,令,由上式即得兩點插值公式

,這是乙個線性函式,故又名線性插值。

若令,則又可得到常用的三點插值公式

這是乙個二次函式,故又名二次插值或拋物線插值。

2、演算法設計

1、演算法描述

(1)輸入已知點的個數;

(2)分別輸入已知點x的座標;

(3)分別輸入已知點y的座標;

(4)呼叫拉格朗日插值函式,求得某點對應的函式值。

2、演算法流程圖

3、程式源**

#include

#include

float lagrange(float *x,float *y,float xx,int k)

return yy;

}int main()

printf("\n");

for(i=0;i<=n-1;i++)

printf("\n");

printf("input xx:");

scanf("%f",&xx);

yy=lagrange(x,y,xx,n);

printf("x=%f,y=%f\n",xx,yy);}

拉格朗日插值實驗報告

實驗名稱 實驗一拉格朗日插值 我們在生產生活中常常會遇到這樣的問題 某個實際問題中,函式f x 在區間 a,b 上存在且連續,但卻很難找到其表示式,只能通過實驗和觀測得到有限點上的函式表。顯然,根據這些點的函式值來求其它點的函式值是非常困難的。有些情況雖然可以寫出表示式,但結構複雜,使用不方便。所以...

實驗1拉格朗日插值與牛頓插值

西華數學與計算機學院上機實踐報告 一 目的 1 通過本實驗加深對拉格朗日插值和牛頓插值法構造過程的理解 2 能對上述兩種插值法提出正確的演算法描述程式設計實現。二 內容與設計思想 編制乙個程式,分別用拉格朗日插值法和牛頓插值法求解某點的函式近似值。已知y f x 的資料表如下,求t 0.63處的函式...

拉格朗日和牛頓插值法的C方法實現 數值分析上機實驗

填表。通過公式求和 for z 0 z 並計算出最後的值。四 實驗程式 include iostream.h double lagrange double f,int m,double f,double g 建立函式lagrange double nowton double f,int m,doub...