Your SlideShare is downloading. ×
0
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Chuong04
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Chuong04

6,273

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,273
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
389
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MÔN HỌC: PHƯƠNG PHÁP SỐ PHÉP NỘI SUY Và PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU CHƯƠNG 4
  • 2. 4.1. Phép nội suy <ul><li>Giả sử có y phụ thuộc liên tục vào x có dạng y=f(x). Cần tính f(c) với c bất kỳ thuộc [a,b]. Tuy nhiên: </li></ul><ul><ul><li>Không biết biểu thức tường minh của f(x) hoặc hoặc đã biết biểu thức tường minh của f(x) nhưng khó khăn để tính f(c) </li></ul></ul><ul><ul><li>Trong khi có thể xác định được các giá trị của y tại các giá trị rời rạc của x: </li></ul></ul><ul><ul><li>(x i , y i ), i=0,1,.., n gọi là các mốc </li></ul></ul><ul><li>Xấp xỉ f(x) bởi g(x) tốt nhất theo một nghĩa nào đó </li></ul><ul><li>Tính f(c)  g(c) với c  x i , i=0,..n </li></ul><ul><ul><li>Nếu c  (x 0 , x n ): Bài toán nội suy, g(x) gọilà hàm nội suy. </li></ul></ul><ul><ul><li>Nếu c  (x 0 , x n ): Ngoại suy </li></ul></ul>x 0 x 1 x 2 x n … y 0 y 1 y 2 y n … x y
  • 3. Nội suy đa thức <ul><li>Ta biết rằng: </li></ul><ul><li>Mọi hàm sơ cấp đều có thể xấp xỉ bởi một đa thức . </li></ul><ul><li>Có giải thuật tính dễ dàng giá trị của đa thức tại x= c. </li></ul><ul><li>Cho n+1 mốc nội suy (x 0 ,y 0 ), (x 1 ,y 1 ), …, (x n , y n ). Nội suy đa thức là xấp xỉ hàm f(x) bởi một đa thức P n (x) có bậc không quá n: </li></ul><ul><li>P n (x) = a n x n +a n-1 x n-1 +…+a 1 x+a 0 </li></ul><ul><li>thỏa điều kiện P n (x i )=f(x i ) </li></ul><ul><li>Sai số: R n (x)=f(x)-P n (x) </li></ul>
  • 4. Ý nghĩa hình học P n (c) c      Xấp xỉ đường cong f(x) bởi đa thức P n (x) (với P n (x i )=f(x i )). Ước lượng f(c) bởi P n (c): f(c)  P n (c) với sai số R n (c) R n (c) f(c) P n (x) f(x) x 0 x 1 x 2 x n
  • 5. Nội suy đa thức <ul><li>Định lý : Cho n+1 mốc nội suy (x 0 ,y 0 ), (x 1 , y 1 ),…, (x n , y n ). Đa thức nội suy bậc n tìm đượcdựa trên các mốc nội suy này là duy nhất. </li></ul><ul><li>Chứng minh: Giả sử tìm được 2 đa thức nội suy P n (x) và Q n (x) và P n (x) ≠ Q n (x). Xét hàm phụ: </li></ul><ul><ul><li>u n (x) = P n (x) - Q n (x) </li></ul></ul><ul><ul><li>u n (x) cũng là đa thức có bậc ≤ n </li></ul></ul><ul><ul><li>Hơn nữa: P n (x i ) = y i = Q n (x i )  , i=0..n </li></ul></ul><ul><ul><ul><li>P n (x i ) - Q n (x i ) = 0  , i=0..n </li></ul></ul></ul><ul><ul><li> u n (x) có ít nhất n+1 nghiệm x 0 , x 1 , .., x n . Vô lý (vì u n (x) là đa thức có bậc ≤ n mà lại có nhiều hơn n nghiệm). </li></ul></ul><ul><ul><li>Vậy P n (x i )  Q n (x i ) </li></ul></ul>
  • 6. Tính giá trị của đa thức – thuật toán Horner (hạn chế số lượng phép tính) <ul><li>Cho P n (x)=a n x n +a n-1 x n-1 +…+a 1 x+a 0 </li></ul><ul><li>Có thể phân tích P n (x) thành: </li></ul><ul><li>P n (x)=((…(((a n x+a n-1 )x+a n-2 )x+a n-3 )x+….a 1 )x+a 0 </li></ul><ul><li>Giải thuật tính P n (c) hạn chế số phép tính: </li></ul>(4.1.1) Input a,c i=n-1;P=a n i&gt;=0 P=P*c+a i i-- Write P
  • 7. Tính giá trị của đa thức <ul><li>Nhận xét: </li></ul><ul><ul><li>Tính theo cách thông thường (thay x = c vào đa thức) </li></ul></ul><ul><ul><ul><li>Số phép cộng: n </li></ul></ul></ul><ul><ul><ul><li>Số phép nhân: n+(n-1)+(n-2)+…+2+1+0=n(n+1)/2 </li></ul></ul></ul><ul><ul><li>Tính theo thuật toán Horner: </li></ul></ul><ul><ul><ul><li>Số phép cộng: n </li></ul></ul></ul><ul><ul><ul><li>Số phép nhân: n &lt; n(n+1)/2 </li></ul></ul></ul>
  • 8. Tính giá trị của đa thức <ul><li>Ví dụ 4.1 : Cho P 4 (x)=3x 4 +4x 3 +5x 2 -6x+2 </li></ul><ul><li>Tính P 4 (2)=? </li></ul><ul><li>Tính theo cách thông thường, thay x=2 vào đa thức: </li></ul><ul><li>P 4 (2)=3.2 4 +4.2 3 +5.2 2 -6.2+2=90 </li></ul><ul><li>-Số phép nhân:10 </li></ul><ul><li>- Số phép cộng: 4 </li></ul>
  • 9. Tính giá trị của đa thức <ul><li>Tính theo thuật toán Horner : </li></ul><ul><li>p=3; i=3 </li></ul><ul><li>i=3; p=p*2+a 3 =3*2+4=10 </li></ul><ul><li>i=2; p=p*2+a 2 =10*2+5=25 </li></ul><ul><li>i=1; p=p*2+a 1 =25*2-6=44 </li></ul><ul><li>i=0; p=p*2+a 0 =44*2+2=90 </li></ul><ul><li>i=-1 Dừng </li></ul><ul><li>Kết quả: P 4 (2)=p=90 </li></ul><ul><li>Số phép nhân: 4 &lt; 10 </li></ul><ul><li>Số phép cộng: 4 </li></ul>
  • 10. 1.1 Đa thức nội suy Lagrange <ul><li>Cho trước n+1 điểm mốc: (x 0 ,y 0 ),(x 1 ,y 1 ),…, (x n ,y n ) </li></ul><ul><li>Đa thức nội suy P n (x) theo Lagrange được xác định như sau: </li></ul><ul><ul><li>Bước 1 : Xác định các đa thức Lagrange cơ bản: l i (n) (x) có dạng: </li></ul></ul>(4.1.2) Nhận xét:
  • 11. Đa thức nội suy Lagrange <ul><ul><li>Bước 2 : Đa thức nội suy Lagrange P n (x) được xác định bởi: </li></ul></ul>(4.1.3)
  • 12. Đa thức nội suy Lagrange <ul><li>Ví dụ 4.2 : Xây dựng đa thức nội suy Lagrange cho hàm y=sin(  x) rồi tính gần đúng sin(  /5) với các mốc nội suy cho trong bảng: </li></ul>Giải : <ul><li>Các đa thức Lagrange cơ bản: </li></ul>(Không cần tính, vì y 0 =0) 1 1/2 0 y=sin(  x) 1/2 1/6 0 x
  • 13. Đa thức nội suy Lagrange Thay x=1/5 vào P 2 (x) tìm được , ta có sin(  /5)  P 2 (1/5)=0,58 <ul><li>Đa thức nội suy Lagrange cần tìm </li></ul>
  • 14. Đa thức nội suy Lagrange <ul><li>Ví dụ 4.3 : Tìm đa thức nội suy Lagrange đối với hàm y=f(x) được cho như trong bảng </li></ul><ul><li>Giải </li></ul><ul><ul><li>Các đa thức Lagrange cơ bản: </li></ul></ul>(Không cần tính vì y 1 =0) Tính gần đúng f(0,2)?
  • 15. Đa thức nội suy Lagrange Đa thức nội suy Lagrange P 3 (x) cần tìm: Ta có: f(0,2)  P 3 (0,2)=0,15
  • 16. Đánh giá sai số của đa thức nội suy Lagrange <ul><li>Định lý Rolle : Nếu f(x) liên tục trên [a,b], khả vi tại mọi x  (a,b) và f(a) = f(b) thì tồn tại ít nhất  (a,b) sao cho f’(  )=0. </li></ul>f(a)=f(b) a b y x  f’(  )=0 f(a)=f(b) a b y x  1  2 f’(  1 )=0 f’(  2 )=0
  • 17. Đa thức nội suy Lagrange <ul><li>Áp dụng để đánh giá sai số khi tính f(c)  P n (c)? </li></ul><ul><li>Giả sử f(x) có đạo hàm liên tục đến cấp n+1 trên [x 0 , x n ] </li></ul><ul><li>Tìm phần dư có dạng: </li></ul><ul><li>Tìm k sao cho F(x) có ít nhất n+2 nghiệm (x 0 ,x 1 ,x 2 ,…,x n và c)? </li></ul><ul><li>F(x) có n+2 nghiệm  F’(x) có n+1 nghiệm (định lý Rolle) </li></ul><ul><li>F’(x) có n+1 nghiệm  F’’(x) có n nghiệm (định lý Rolle) </li></ul><ul><li>… </li></ul><ul><li>Tương tự: F (n+1) (x) có 1 nghiệm,ta gọi nghiệm này là  . </li></ul>Đặt:
  • 18. Đa thức nội suy Lagrange (tt) Mà: Vậy sai số cần tìm có dạng : (4.1.4)
  • 19. Đa thức nội suy Lagrange (tt) <ul><li>Nếu </li></ul><ul><li>Thì sai số của công thức Lagrange có thể được viết: </li></ul>Ví dụ 4.4 : Cho hàm y=sin(  x), dùng đa thức nội suy Lagrange tính gần đúng sin(  /5), đánh giá sai số. Biết các mốc nội suy: (4.1.5) 1 1/2 0 y=sin(  x) 1/2 1/6 0 x
  • 20. Đa thức nội suy Lagrange (tt) <ul><li>Đa thức nội suy Lagrange tìm được: </li></ul>Sai số: Mà: |Sin 3 (  x)| =  3 |cos(  x)|   3
  • 21. ChỌn mốc nội suy tối ưu <ul><li>Với công thức đánh giá sai số </li></ul>Cần chọn các x i  [a;b] để là nhỏ nhất Nhận xét: Với phép biến đổi Thì đoạn [a;b] chuyển thành [-1;1] Nên các mốc nội suy trên [a;b] đều có thể chuyển về các mốc nội suy trên [-1;1]
  • 22. ChỌn mốc nội suy tối ưu <ul><li>Đa thức Chebyshev: </li></ul>T n (x) = cos(n.arccosx) với |x|  1, n  N * T n+1 (x) = 2x.T n (x)-T n-1 (x) T n (x) là đa thức bậc n, hệ số cao nhất là 2 n-1 Tính chất : Nhận xét: T n (x) có đúng n nghiệm: Mọi nghiệm của T n (x) đều thuộc [-1;1] Khi x=x i = (4.1.6)
  • 23. Chọn mốc nội suy tối ưu <ul><li>Trường hợp 1 : Các các mốc nội trong [-1, 1], khi đó các mốc nội suy được chọn là nghiệm của T n+1 (x) : </li></ul>Khi đó (4.1.7)
  • 24. Chọn mốc nội suy tối ưu <ul><li>Trường hợp 2: Trường hợp các mốc nội suy được chọn trong [a, b] bất kỳ. Đặt: </li></ul>Chọn các mốc t i theo trường hợp 1, suy ra các mốc x i
  • 25. Giải thuật tính gần đúng f(c) dựa trên đa thức nội suy Lagrange <ul><li>Input : c và mảng {(x 0 , y 0 ), (x 1 , y 1 ),…,(x n ,y n )} </li></ul><ul><li>P=0; </li></ul><ul><li>i=0,1,…,n </li></ul><ul><li>{ </li></ul><ul><li>//Tinh giá trị của da thuc Lagrange co ban thu i </li></ul><ul><li>l i = 1 </li></ul><ul><ul><ul><li>j=0,1,…,n </li></ul></ul></ul><ul><li> if i  J then </li></ul><ul><li> l i = l i * (c-x j )/(x i – x j ) </li></ul><ul><li>//Cộng y i *l i vào kết quả </li></ul><ul><ul><ul><li>p = p + y i * l i ; </li></ul></ul></ul><ul><li>} </li></ul><ul><li>Return p ;//p là giá trị gần đúng của f(c) tìm được </li></ul>
  • 26. 1.2. Đa thức nội suy Newton <ul><li>Hạn chế của đa thức nội suy Lagrange </li></ul><ul><ul><li>Mỗi khi thêm mốc nội suy, ta phải tính lại toàn bộ đa thức (Các đa thức Lagrange cơ bản và đa thức nội suy Lagrange) </li></ul></ul><ul><ul><li>Đa thức nội suy Newton khắc phục hạn chế này </li></ul></ul>
  • 27. Đa thức nội suy Newton <ul><li>Tỷ hiệu : </li></ul><ul><li>Giả sử hàm y=f(x) được cho ở dạng bảng: </li></ul><ul><ul><li>Tỷ hiệu cấp 1 của hàm y=f(x) tại x i : </li></ul></ul><ul><ul><li>Tỷ hiệu cấp 2 của hàm y=f(x) tại x i : </li></ul></ul><ul><ul><li>Tổng quát, tỷ hiệu cấp k của hàm y=f(x) tại x i được tính dựa vào tỷ hiệu cấp k-1: </li></ul></ul>(4.1.8) … … y n y n-1 y 2 y 1 y 0 y x n x n-1 x 2 x 1 x 0 x
  • 28. Đa thức nội suy Newton <ul><li>Tính chất của tỷ hiệu </li></ul><ul><ul><li>Tỷ sai phân cấp n+1 của đa thức bậc n bằng 0. </li></ul></ul><ul><li>Bảng tỷ hiệu </li></ul>
  • 29. Giải thuật lập bảng tỷ hiệu <ul><ul><li>Cho các điểm mốc (x 0 ,y 0 ),(x 1 ,y 1 ),…, (x n, y n ). </li></ul></ul><ul><ul><li>Ma trận tỷ hiệu F cấp (n+1)x(n+2) </li></ul></ul><ul><ul><ul><li>//Khởi tạo F </li></ul></ul></ul><ul><ul><ul><li>for (i=0, i&lt;=n ; i++) { f i0 =x i ; f i1 =y i }; </li></ul></ul></ul><ul><ul><ul><li>Tính f ij còn lại </li></ul></ul></ul><ul><ul><ul><li>for (j=2j&lt;=n+1;j++) </li></ul></ul></ul><ul><ul><ul><li>//Tính tỷ hiệu cấp j-1 </li></ul></ul></ul><ul><ul><ul><li>for ( i=j-1, i&lt;=n,i++) f ij =(f i,j-1 -f i-1,j-1 )/(f i,0 -f i-j+1,0 ) </li></ul></ul></ul>Lưu ý: không dùng các f ij với j&gt;i+1
  • 30. Giải thuật lập bảng tỷ hiệu <ul><li>Hoặc có thể tính f[x i ,x i+1 ,…,x j ] bằng giải thuật đệ quy sau: </li></ul><ul><li>double Tyhieu(i,j) </li></ul><ul><li>{ if (j==i+1) </li></ul><ul><li>return (y j -y i )/(x j -x i ); </li></ul><ul><li> else </li></ul><ul><li>return (Tyhieu(i+1,j)-Tyhieu(i,j-1))/(x j -x i ); </li></ul><ul><li>} </li></ul>
  • 31. 1.2.1. Đa thức nội suy Newton với các mốc bất kỳ <ul><ul><li>- Xét tỷ hiệu cấp 1: </li></ul></ul>- Xét tỷ hiệu cấp 2: (4.1.9) Gọi P n (x) là đa thức nội suy cần tìm (P n (x i )=y i )  P n (x) có bậc n, P n [x,x 0 ] là đa thức có bậc n-1  P n [x,x 0 ,x 1 ] là đa thức có bậc n-2 - Xét tỷ hiệu cấp n:  P n [x,x 0 ,x 1 ,…,x n-1 ] là đa thức có bậc 0 (4.1.10) (4.1.11)
  • 32. 1.2.1. Đa thức nội suy Newton với các mốc bất kỳ <ul><li>Từ 4.1.9, ta có: </li></ul>- Xét tỷ hiệu cấp n+1: (4.1.12) Mà P n [x,x 0 ,x 1 ,…,x m ]=0 với m&gt;n-1 nên:P n [x,x 0 ,…,x n-1 ]=P n [x 0 ,x 1 ,…,x n ] Từ 4.1.10, ta có: … . Từ 4.1.11,4.12 ta có:
  • 33. 1.2.1. Đa thức nội suy Newton với các mốc bất kỳ Cuối cùng, ta có: (4.1.13) Vậy Mà Đa thức 4.1.13 gọi là đa thức nội suy Newton tiến xuất phát từ x 0 , thường dùng để tính gần đúng f(c) với c gần x 0 .
  • 34. 1.2.1. Đa thức nội suy Newton với các mốc bất kỳ (4.1.14) Tương tự, ta cũng có đa nội nội suy Newton Lùi xuất phát từ x n : (thường dùng để tính gần đúng f(c) khi c gần x n ) <ul><li> Đa thức nội suy Newton cũng chính là đa thức nội suy Lagrange chỉ khác về cách trình bày. </li></ul><ul><li>Nếu thêm một mốc (x n+1 ,y n+1 ), đa thức nội suy P n+1 (x) trên tập điểm mốc mới được tính theo P n (x) như sau: </li></ul><ul><li>Đánh giá sai số: Tương tự như đa thức nội suy Lagrange </li></ul>
  • 35. Đa thức nội suy Newton với các mốc bất kỳ <ul><li>Lập bảng tỷ hiệu: </li></ul>=(y n -y n-1 )/(x n -x n-1 ) =(f[x n ,x n-1 ]-f[x n-1 ,x n-2 ])/(x n -x n-2 ) =(f[x n ,..x 1 ]-f[x n-1 ..x 0 ])/(x n -x 0 ) y n x n f[x n ,x n-1 ] y n-1 x n-1 f[x n ,x n-1 ,x n-2 ] f[x n-1 ,x n-2 ] y n-2 x n-2 … … ... f[x 3 ,x 2 ,x 1 ] f[x 2 ,x 1 ] y 1 x 1 f[x n ,x n-1 ,.,x 0 ] f[x 2 ,x 1 ,x 0 ] f[x 1 ,x 0 ] y 0 x 0
  • 36. Đa thức nội suy Newton với các mốc bất kỳ <ul><li>Ví dụ 4.5 : Xây dựng đa thức nội suy theo phương pháp newton cho hàm y=sin(  x) với các mốc nội suy cho trong bảng: </li></ul>Lập bảng tỷ hiệu 1 1/2 0 y=sin(  x) 1/2 1/6 0 x
  • 37. Đa thức nội suy Newton với các mốc bất kỳ <ul><li>Đa thức nội suy cần tìm có dạng: </li></ul><ul><li>Ví dụ 4.6 : Tìm đa thức nội suy Newton cho hàm y=log 10 (x). Với các mốc nội suy trong bảng </li></ul>
  • 38. <ul><li>Bảng tỷ hiệu của y=log 10 (x) </li></ul>Đa thức nội suy Newton với các mốc bất kỳ <ul><li>Đa thức cần tìm theo newton có dạng: </li></ul>
  • 39. Đa thức nội suy Newton lùi <ul><li>Ví dụ 4.7 : Tìm đa thức nội suy newton lùi cho hàm y=sin(  x) với các mốc nội suy cho trong bảng: </li></ul>Giải: Bảng tỷ hiệu Vậy đa thức nội suy Newton lùi xuất phát từ x2 là: p(x) = y 2 +(x-x 2 )f[x 2 ,x 1 ]+(x-x 2 )(x-x 1 )f[x 2 ,x 1 ,x 0 ] = 1 +(x-1/2)(3/2)+(x-1/2)(x-1/6)(-3)=-3x 2 +(7/2)x 1 1/2 0 y=sin(  x) 1/2 1/6 0 x
  • 40. Giải thuật tính gần đúng f(c) bằng đa thức nội suy newton tiến với các mốc bất kỳ <ul><li>Không đệ quy: </li></ul><ul><ul><li>Cho các mốc nội suy (x 0 ,y 0 ), (x 1 ,y 1 ), …, (x n ,y n ) </li></ul></ul><ul><ul><li>Xây dựng ma trận tỷ hiệu TyHieucấp (n+1)x(n+2) (xem lại giải thuật ở slide trước) </li></ul></ul><ul><ul><li>p=y 0 ; </li></ul></ul><ul><ul><li>i=1,…, n : </li></ul></ul><ul><ul><li>begin </li></ul></ul><ul><ul><ul><li>tich = 1; </li></ul></ul></ul><ul><ul><ul><li>j =0;1,…i-1 : tich = tich * (c-x j ); </li></ul></ul></ul><ul><ul><ul><li>P=P+tich*tyhieu[i][i+1]; </li></ul></ul></ul><ul><ul><ul><li>end </li></ul></ul></ul><ul><ul><li>Return p; </li></ul></ul>
  • 41. Giải thuật tính gần đúng f(c) bằng đa thức nội suy newton tiến với các mốc bất kỳ <ul><li>Giải thuật đệ quy : Goi F(i,j) là tỷ hiệu f[x i , x i+1 ,,x j ]. Ta có giải thuật đệ quy tính f(i,j) như sau: </li></ul><ul><li>F(int i, int j) { </li></ul><ul><li>if (j=i+1) return (y j -y i )/(x j -x i ) </li></ul><ul><li>else </li></ul><ul><li>return (F(i+1,j)-F(i,j-1))/(x j -x i ); </li></ul><ul><li>} </li></ul>
  • 42. Giải thuật tính gần đúng f(c) bằng đa thức nội suy newton tiến với các mốc bất kỳ <ul><li>Tính gần đúng f(c) : </li></ul><ul><li>p=y 0 ; </li></ul><ul><li>i=1,1,…,n </li></ul><ul><li>begin </li></ul><ul><li> temp=1; </li></ul><ul><li>j=0,1,…,j-1: temp=temp*(c-x j ); </li></ul><ul><li>p=p+temp*F(0,i); </li></ul><ul><li>end; </li></ul>
  • 43. Giải thuật tính gần đúng f(c) bằng đa thức nội suy newton lùi với các mốc bất kỳ <ul><li>Cho các mốc nội suy (x 0 ,y 0 ), (x 1 ,y 1 ), …, (x n ,y n ) </li></ul><ul><li>Xây dựng ma trận tỷ hiệu TyHieucấp (n+1)x(n+2) p=y n ; </li></ul><ul><li>i=n-1,…, 0 ; </li></ul><ul><li>begin </li></ul><ul><ul><li>tich = 1; </li></ul></ul><ul><ul><li>j =n;n-1,…i+1 : tich = tich * (c-x j ); </li></ul></ul><ul><ul><li>P=P+tich*tyhieu[i][n-i+1]; </li></ul></ul><ul><ul><li>end </li></ul></ul><ul><li>Return p; </li></ul>
  • 44. 4.2.2.Đa thức nội suy Newton tiến-các mốc cách điều <ul><li>x i+1 -x i = h (hằng số)  x i = x 0 + ih </li></ul>x 0 x i x i+1 h ih h 2h … x 1 x 2
  • 45. Đa thức nội suy Newton tiến-các mốc cách điều <ul><li>Định nghĩa sai phân hữu hạn: </li></ul><ul><ul><li>Sai phân tiến cấp 1 tại x i : </li></ul></ul><ul><ul><li>Sai phân tiến cấp 2 tại x i : </li></ul></ul><ul><li>Sai phân tiến cấp n tại x i được tính theo sai phân tiến cấp n-1: </li></ul>(4.1.15) (4.1.16)
  • 46. Đa thức nội suy Newton tiến-các mốc cách điều <ul><li>Đa thức nội suy Newton tiến tổng quát </li></ul>Với: … Nên: (4.1.17)
  • 47. Đa thức nội suy Newton tiến-các mốc cách điều <ul><li>Đặt x = x 0 +th, ta có: </li></ul><ul><li>x - x 0 = th </li></ul><ul><li>x - x 1 = (x - x 0 ) - (x 1 - x 0 ) = (t - 1)h </li></ul><ul><li>… </li></ul><ul><li>x – x n-1 = (x-x 0 ) - (x n-1 -x 0 ) = (t – n + 1)h </li></ul><ul><li>Từ 4.1.17, ta có: </li></ul>Với 0  t  n (4.1.18) Đa thức trong 4.1.18 gọi là đa thức nội suy Newton tiến xuất phát từ x 0 với các mốc cách đều
  • 48. Đa thức nội suy Newton tiến-các mốc cách điều <ul><li>Sai phân tiến các cấp tại x0 có thể tính theo bảng: </li></ul> n-1 y 1  n-1 y 0  n-1 y i y n  y n-1 y n-1  2 y n-2  y n-2 y n-2 …  2 y 2  y 2 y 2  2 y 1  y 1 y 1  n y 0  2 y 0  y 0 y 0  n y i …  2 y i  y i y i
  • 49. Đa thức nội suy Newton tiến-các mốc cách điều <ul><li>Sai số </li></ul>(4.1.19) <ul><li>Tương tự, bằng cách đặt x = x n + th, ta có đa thức nội suy Newton lùi với các mốc cách điều </li></ul>(4.1.20)
  • 50. Đa thức nội suy Newton tiến-các mốc cách điều <ul><li>Ví dụ: Cho hàm y=f(x) xác định bởi bảng: </li></ul>Tính gần đúng f(4/3) bằng đa thức nội suy Newton (tiến)? Giải: Ta thấy: x i+1 -x i =1,  i=0,1,…,n-1 Nên các mốc nội suy là cách đều Đặt x = x 0 +th=1+t ; x = 4/3  t = 1/3 Bảng sai phân hữu hạn: Đa thức nội suy Newton: p(t) = y 0 +t.  y 0 +(t 2 /2!)  2 y 0 = 2+ 5t + ½.t(t-1).2 = 2+4t+t 2 f(4/3)  p(1/3) = 31/9
  • 51. Đa thức nội suy Newton lùi xuất phát từ x n , trường hợp các mốc nội suy cách điều <ul><li>Bảng sai phân hữu hạn cho đa thức nội suy newton lùi: </li></ul> n y n …  2 y n  y n y n  2 y n-1  y n-1 y n-1  y n-2 y n-2 …  y 1 y 1 y 0  n y …  2 y  y y
  • 52. Ví dụ: Giá trị hàm Lgx (log cơ số 10) được cho trong bảng dưới. Tính gần đúng lg7=? Tính Tính Tính Đa thức nội suy newton tiến xuất phát từ x 0 =5 có dạng  y  2 y  3 y
  • 53. <ul><li>Trong đó: x=x 0 + th  </li></ul><ul><li>Thay t=2/5 và các sai phân cấp 1, cấp 2,…, cấp n (dòng đầu tiên của bảng) ta được giá trị gần đúng của lg7  P 3 (7) = ? </li></ul><ul><li>Sai số: ? Bài tập </li></ul>
  • 54. 4.1.3. Nội suy Spline <ul><li>Thông thường, bậc của đa thức nội suy Lagrange, Newton tăng theo số lượng lấy mẫu (số lượng điểm mốc). Do vậy chi phí tính toán cũng tăng </li></ul><ul><li>Một phương pháp khác, thường dùng trong thực tế là nội suy bởi đa thức Spline bậc 3 </li></ul>
  • 55. Nội suy spline <ul><li>Cho n+1 điểm mốc: (x 0 ,y 0 ), (x 1 ,y 1 ),..,(x n ,y n ), với x i+1 -x i =h </li></ul><ul><li>Hàm nội suy cubic-spline tổng quát: </li></ul><ul><li>Với mỗi f i (x) là đa thức bậc 3 có dạng: </li></ul>(2) nếu nếu nếu nếu (1)
  • 56. Nội suy spline (2) (3) (4) (5) (6) Thỏa các tính chất:      f 0 (x) f 1 (x) f 2 (x) f 3 (x) x 0 x 1 x 2 x 3 x 4
  • 57. Nội suy spline (3) Tính d i ? Từ pt (3): f i (x i )=y i Hay: a i (x i -x i ) 3 +b i (x i -x i ) 2 +c i (x i -x i )+d i = y i  d i = y i Tính các hệ số khác? Bắt đầu từ: (7) (8)
  • 58. Nội suy spline (4) <ul><li>Đặt </li></ul>Từ pt (8), ta có: Hay i=0,1,…, n-1
  • 59. Nội suy spline (5) <ul><li>Cũng từ (8), suy ra: </li></ul>Theo pt (6) thì: Và Hay: 
  • 60. Nội suy spline (6) <ul><li>Từ pt (4): f i (x i+1 ) = f i+1 (x i+1 ) </li></ul><ul><li>Mà: f i+1 (x i+1 ) = d i+1 </li></ul><ul><li>Và: f i (x i+1 ) = a i (x i+1 -x i ) 3 +b i (x i+1 -x i ) 2 +c i (x i+1 -x i )+d i </li></ul><ul><li> = a i h 3 +b i h 2 +c i h+d i- </li></ul><ul><li>  d i+1 = a i h 3 +b i h 2 +c i h+d i </li></ul>i=0,1,…,n-2
  • 61. Nội suy spline (7) <ul><li>Cuối cùng, ta có: </li></ul>Để có được các a i , b i , c i , d i , cần tìm các M i !!!
  • 62. Nội suy spline (8) <ul><li>Từ pt (5): </li></ul>Với Và Nên i=0,1,…,n-2
  • 63. Nội suy spline (9) i=0,1,…,n-2
  • 64. Nội suy spline (10) <ul><li>Hay: </li></ul>Có n+1 cột nhung chỉ có n-1 dòng!!!
  • 65. Nội suy spline (11) <ul><li>Spline tự nhiên (Natural spline) </li></ul><ul><li>M 0 = M n = 0 </li></ul><ul><li>Ta có: </li></ul>Hệ có n -1 phương trình, n-1 biến. Giải hệ, tìm được M 2 , M 3 , M 4 ,…,M n-1 ,M 0 =0, M n =0  Tính a i , b i , c i , d i ?
  • 66. 4.2. Phương pháp bình phương tối thiểu <ul><li>Giả sử có đại lượng y phụ thuộc vào đại lượng x nhưng chưa biết công thức của . Qua đo đạt, thí nghiệm, quan sát,… ta có được bảng số liệu: </li></ul><ul><li>Từ số liệu này, tìm ra công thức đúng (gọi là công thức nghiệm) của hàm y? </li></ul><ul><li>Nói chung, Không thể tìm công thức đúng của y. Chỉ có thể tìm được y ở một số dạng đơn giản: </li></ul><ul><ul><li>y=ax+b; y=ax 2 +bx+c </li></ul></ul><ul><ul><li>y=acos(x)+bsin(x) y=ae bx . </li></ul></ul>y n y 2 y 1 y 0 y x n … x 2 x 1 x 0 x
  • 67. Nội dung của phương pháp <ul><li>Gọi y=f(x) là công thức nghiệm cần tìm. </li></ul><ul><li>Do các y i chỉ là giá trị thực nghiệm nên y i  f(x i ) </li></ul><ul><li>Đặt  i = y i – f(x i ) </li></ul>       y 0 x 0 x 1 y 1 x i y i y n x n  i y=f(x) f(x i ) f(x) cần tìm sao cho bé nhất
  • 68. Công thức nghiệm dạng: y=ax+b (y phụ thuộc tuyến tính các hệ số) <ul><ul><li>Ta có: </li></ul></ul><ul><li>nhỏ nhất  a, b là nghiệm của hệ: </li></ul>hay
  • 69. Công thức nghiệm dạng: y=ax+b (y phụ thuộc tuyến tính các hệ số)   Giải hệ trên ta tìm được a,b.
  • 70. Ví dụ: <ul><li>Sự phụ thuộc của y vào x cho như trong bảng: </li></ul><ul><li>Tìm công thức nghiệm dạng y=ax+b? </li></ul><ul><li>Giải: Các hệ số a, b là nghiệm của hệ: </li></ul>6,5 5,5 2,5 0,5 y 3 2 1 0 X
  • 71. Công thức nghiệm dạng: y=ax 2 +bx+c (y phụ thuộc tuyến tính các hệ số) <ul><ul><li>Ta có: </li></ul></ul><ul><li>nhỏ nhất  a, b, là nghiệm của hệ: </li></ul>hay
  • 72. Công thức nghiệm dạng: y=ax 2 +bx+c (y phụ thuộc tuyến tính các hệ số)  Giải hệ trên ta tìm đưọc a,b, c
  • 73. Ví dụ: <ul><li>Sự phụ thuộc của y vào x cho như trong bảng: </li></ul><ul><li>Tìm công thức nghiệm dạng y=ax 2 +bx+c? </li></ul><ul><li>Giải: ????? </li></ul>1,25 -1 -1,75 0,5 y 3 2 1 0 X
  • 74. Công thức nghiệm dạng: y=ae bx (y không phụ thuộc tuyến tính các hệ số) <ul><li>y=ae bx (với a&gt;0) </li></ul><ul><li>Lấy logarit 2 vế, ta được: lgy = lga + (blge)x </li></ul><ul><li>Đặt Y = lgy, X = x, A = blge, B=lga; Ta có: Y = AX+B </li></ul><ul><li>Chuyển từ bảng : </li></ul><ul><li>Sang bảng </li></ul><ul><li>Áp dụng công thức đã biết, tìm A, B  a, b? </li></ul>y n … y 2 y 1 y 0 y x n … x 2 x 1 x 0 x Y n … Y 2 Y 1 Y 0 Y X n … X 2 X 1 X 0 X

×