拉格朗日c语言实验报告,拉格朗日插值法C语言的实现(实验报告)(9页)-原创力文档...
韓山師范學(xué)院 C語(yǔ)言程序設(shè)計(jì)
實(shí)驗(yàn)名稱: 實(shí)驗(yàn)一:拉格朗日插值法C語(yǔ)言的實(shí)現(xiàn) 日期: 2011-9-19
任課教師: 賴國(guó)明 專業(yè): 數(shù)學(xué)與應(yīng)用數(shù)學(xué) 學(xué)號(hào): 2009111437 姓名: 鄭永鋒
【實(shí)驗(yàn)?zāi)康摹?/p>
1、進(jìn)一步熟悉拉格朗日插值法。
2、掌握編程語(yǔ)言字符處理程序的設(shè)計(jì)和調(diào)試技術(shù)。
【實(shí)驗(yàn)內(nèi)容】
(題目)作出插值點(diǎn) (-2.00,0.00),(2.00,5.00),(5.00,6.00)的二次Lagrange 插值多項(xiàng)式
L (x),并計(jì)算L (-1.2),L (1.2)。
2 2 2
? 解題思路:
1
()輸入已知點(diǎn)的個(gè)數(shù);
2 X
()分別輸入已知點(diǎn)的 坐標(biāo);
3 Y
()分別輸入已知點(diǎn)的 坐標(biāo);
4 lagrange
()通過(guò)調(diào)用函數(shù) 函數(shù),來(lái)求某點(diǎn)所對(duì)應(yīng)的函數(shù)值。
拉格朗日插值多項(xiàng)式如下:
n
L (x ) ?y l (x ) y j 0,1,……n
n j k k j j
k 0
(x?x )……(x-x )(x-x )……(x-x)
l (x) 0 k-1 k+1 n k 0,1,……,n
其中 k (x ?x )……(x-x )(x-x )……(x-x)
k 0 k k-1 k k+1 k n
程序流程圖:
開(kāi)始
↓
輸入已知點(diǎn)個(gè)數(shù)n
↓
輸入已知點(diǎn)的X坐標(biāo)以及輸入已知點(diǎn)的Y坐標(biāo)
↓
調(diào)用函數(shù)lagrange 函數(shù)
↓
輸出結(jié)果
1 9
第 頁(yè) 共 頁(yè)
韓山師范學(xué)院 C語(yǔ)言程序設(shè)計(jì)
? 源程序:
#include
#include
float lagrange(float *x,float *y,floatxx,intn)
{
int i,j;
float *a,yy 0.0;
for(i 0;i< n-1;i++)
{
a[i] y[i];
for(j 0;j< n-1;j++)
if(j! i) a[i]* (xx-x[j])/(x[i]-x[j]);
yy+ a[i];
}
free(a);
returnyy;
}
intmain()
{
int i;
intn;
floatx[20],y[20],xx,yy;
printf("Inputn:");
scanf("%d",&n);
if(n> 20)
{
printf("Error!Thevalueofn must in (0,20).");getch();return 1;
}
if(n< 0)
總結(jié)
以上是生活随笔為你收集整理的拉格朗日c语言实验报告,拉格朗日插值法C语言的实现(实验报告)(9页)-原创力文档...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux开发板加快开机速度,reada
- 下一篇: C语言实训指导数组,c语言实训指导书