Danh mục

Bài giảng Chương 5 - Nội suy và xấp xỉ hàm

Số trang: 24      Loại file: pdf      Dung lượng: 143.09 KB      Lượt xem: 29      Lượt tải: 0    
Hoai.2512

Phí tải xuống: 20,000 VND Tải xuống file đầy đủ (24 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong thực tế nhiều khi phải phục hồi một hàm tại mọi giái trị trong một đoạn nào đó, mà chỉ biết một số nhất định các giá trị của hàm tại một số điểm đã cho trước. Giá trị này được cung cấp qua thực nghiệm hay tính toán vì vậy nảy sinh ra nhiều nội suy.
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 5 - Nội suy và xấp xỉ hàm Ch−¬ng 11 : néi suy vµ xÊp xØ hµm §1.Néi suy Lagrange Trong thùc tÕ nhiÒu khi ph¶i phôc håi mét hµm y = f(x) t¹i mäi gi¸ trÞ x trong mét ®o¹n [ a,b ] nµo ®ã mµ chØ biÕt mét sè nhÊt ®Þnh c¸c gi¸ trÞ cña hµm t¹i mét sè ®iÓm cho tr−íc.C¸c gi¸ trÞ nµy ®−îc cung cÊp qua thùc nghiÖm hay tÝnh to¸n.V× vËy n¶y sinh vÊn ®Ò to¸n häc lµ trªn ®o¹n a ≤ x ≤ b cho mét lo¹t c¸c ®iÓm xi ( i= 0,1,2..) vµ t¹i c¸c ®iÓm xi nµy gi¸ trÞ cña hµm lµ yi = f(xi) ®· biÕt.B©y giê ta cÇn t×m ®a thøc : Pn(x) = aoxn + a1xn-1 + …+an-1x + an sao cho Pn(xi) = f(xi) = yi.§a thøc Pn(x) ®−îc gäi lµ ®a thøc néi suy cña hµm y = f(x).Ta chän ®a thøc ®Ó néi suy hµm y = f(x) v× ®a thøc lµ lo¹i hµm ®¬n gi¶n,lu«n cã ®¹o hµm vµ nguyªn hµm.ViÖc tÝnh gi¸ trÞ cña nã theo thuËt to¸n Horner còng ®¬n gi¶n. B©y giê ta x©y dùng ®a thøc néi suy kiÓu Lagrange.Gäi Li lµ ®a thøc : (x − x 0 )...(x − x i −1 )(x − x i +1 )...(x − x n ) Li = (x i − x 0 )...(x i − x i −1 )(x i − x i +1 )...(x i − x n ) Râ rµng lµ Li(x) lµ mét ®a thøc bËc n vµ : ⎧1 ⎪ j=i L i (x j ) =⎨ ⎪0 ⎩ j≠i Ta gäi ®a thøc nµy lµ ®a thøc Lagrange c¬ b¶n. B©y giê ta xÐt biÓu thøc : n P n (x) = ∑ f (xi )L i (x) i =0 Ta thÊy Pn(x) lµ mét ®a thøc bËc n v× c¸c Li(x) lµ c¸c ®a thøc bËc n vµ tho¶ m·n ®iÒu kiÖn Pn(xi) = f(xi) = yi.Ta gäi nã lµ ®a thøc néi suy Lagrange. Víi n = 1 ta cã b¶ng x x0 x1 y y0 y1 §a thøc néi suy sÏ lµ : P1(x) = yoL0(x) + y1L1(x1) x − x1 x − x0 L0 = L1 = x 0 − x1 x1 − x 0 x − x1 x − x0 nªn P1 (x) = y 0 + y1 x 0 − x1 x1 − x 0 Nh− vËy P1(x) lµ mét ®a thøc bËc nhÊt ®èi víi x Víi n = 2 ta cã b¶ng x x0 x1 x2 y y0 y1 y2 §a thøc néi suy sÏ lµ : P2(x) = yoL0(x) + y1L1(x1) + y2L2(x2) (x − x 1 )(x − x 2 ) L0 = (x 0 − x 1 )(x 0 − x 2 ) (x − x 0 )(x − x 2 ) L1 = (x 1 − x 0 )(x 1 − x 2 ) 180 (x − x 0 )(x − x 1 ) L2 = (x 2 − x 0 )(x 2 − x 1 ) Nh− vËy P1(x) lµ mét ®a thøc bËc hai ®èi víi x Trªn c¬ së thuËt to¸n trªn ta cã ch−¬ng tr×nh t×m ®a thøc néi suy cña mét hµm khi cho tr−íc c¸c ®iÓm vµ sau ®ã tÝnh trÞ sè cña nã t¹i mét gi¸ trÞ nµo ®ã nh− sau : Ch−¬ng tr×nh 11-1 #include #include #include #define max 21 int maxkq,n; float x[max],y[max],a[max],xx[max],yy[max]; float x0,p0; void main() { int i,k; char ok ; void vaosolieu(void); float lagrange(int,float [],float [],float); void inkq(void); clrscr(); printf(%24cNOI SUY DA THUC LAGRANGE\n,' '); vaosolieu(); k=0; ok='c'; while (ok=='c') { printf(Tinh gia tri cua y voi x la x0 = ); scanf(%f,&x0); p0=lagrange(n,x,y,x0); printf(Gia tri cua y = %15.5f\n,p0); printf(\n); k=k+1; maxkq=k; xx[k]=x0; yy[k]=p0; flushall(); printf(Tinh tiep khong(c/k)?); scanf(%c,&ok); } inkq(); 181 } void vaosolieu() { int i,t; char ok; printf(\n); printf(Ham y = f(x)\n); printf(So cap (x,y) nhieu nhat la max = 20\n); printf(So diem da cho truoc n = ); scanf(%d,&n); for (i=1;i float g0; p0=0.0; for (k=1;k yi − y j y[x i , x j ] = xi − x j TØ hiÖu cÊp hai cña y t¹i xi,xj,xk lµ : y[x i , x j ] − y[x j , x k ] y[x i , x j , x k ] = xi − x k v.v. Víi y(x) = Pn(x) lµ mét ®a thøc bËc n th× tØ hiÖu cÊp 1 t¹i x,x0 : Pn (x) − Pn (x 0 ) Pn [x, x 0 ] = x − x0 lµ mét ®a thøc bËc ...

Tài liệu được xem nhiều: