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

2022-10-05 03:48:03 字數 1156 閱讀 4097

西華數學與計算機學院上機實踐報告

一、目的

1.通過本實驗加深對拉格朗日插值和牛頓插值法構造過程的理解;

2.能對上述兩種插值法提出正確的演算法描述程式設計實現。

二、內容與設計思想

編制乙個程式,分別用拉格朗日插值法和牛頓插值法求解某點的函式近似值。

已知y=f(x)的資料表如下,求t=0.63處的函式值z=f(t) 。

三、使用環境

作業系統:windows xp

軟體環境:microsoft visual c++6.0

四、核心**及除錯過程

(1)拉格朗日插值法:

#define n 11

main()

for(i=0;i

}lx=lx+b*y[i]/a;

a=b=1;

}printf("\n求得的解是l(%f)=%f",x1,lx);

}實驗執行結果:

(2)牛頓插值法:

#define n 9//牛頓插值的次數

void main()

,s=0,t=1,x;

int i,j;

printf("請輸入xi及yi的值//要求先輸入xi再輸入yi然後輸入下一組\n");

for(i=0;i for(j=0;j<2;j++)

scanf("%f",&a[i][j]);

for(j=1;j for(i=j;i a[i][j+1]=(a[i][j]-a[i-1][j])/(a[i][0]-a[i-j][0]);

printf("輸出xi,yi及各階均差\n");

for(i=0;i

printf("輸出牛頓插值表示式\n");

printf("n%d(x)=",n);

for(i=0;i

printf("\n");

printf("輸入插值點x=");

scanf("%f",&x);

for(i=0;i

printf("n%d(%4.3f)=%6.5f\n",n,x,s);

}執行結果:

五、總結

拉格朗日插值和牛頓插值的區別在於計算結果是否具有承襲性。而拉格朗日插值和牛頓插值的思想相同,誤差也相同。通過這次上機,我更好了解了這點,並且通過程式設計,更好的了解了它們的演算法及運算過程。

六、附錄

拉格朗日插值實驗報告

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

拉格朗日插值法分析報告

1 拉格朗日插值法介紹 1 插值概念簡介 已知在區間上個不同點處的函式值,求乙個至多次的多項式 使其在給定點處與同值,既滿足插值條件 稱為插值多項式,稱為插值節點,稱為插值區間。從幾何上看,次的多項式插值就是過個點,作一條多項式曲線近似曲線。圖1 多項式曲線以及近似曲線 2 拉格朗日插值法原理 在求...

拉格朗日和牛頓插值法的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...