1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số phương pháp tìm đa thức nội suy và ứng dụng

54 275 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một Số Phương Pháp Tìm Đa Thức Nội Suy Và Ứng Dụng
Tác giả Nguyễn Bùi Thị Thạch Thảo
Người hướng dẫn TS. Phạm Quý Mười
Trường học Đại học Đà Nẵng
Chuyên ngành Khoa Toán
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 54
Dung lượng 753,69 KB

Cấu trúc

  • 1.1 Một số tính chất của đa thức (8)
  • 1.2 Một số tính chất của hàm số (9)
    • 1.2.1 Hàm một biến (9)
    • 1.2.2 Giới hạn của hàm số (9)
    • 1.2.3 Hàm số liên tục (11)
    • 1.2.4 Đạo hàm của hàm số (11)
  • 1.3 Sai số tương đối và sai số tuyệt đối (12)
    • 1.3.1 Sai số tuyệt đối (12)
    • 1.3.2 Sai số tương đối (12)
  • 2.1 Bài toán nội suy (13)
    • 2.1.1 Sự duy nhất của đa thức nội suy (14)
    • 2.1.2 Sai số của đa thức nội suy (15)
  • 2.2 Đa thức nội suy Lagrange (16)
    • 2.2.1 Đa thức nội suy Lagrange với mốc bất kỳ (16)
    • 2.2.2 Đa thức nội suy Lagrange với mốc cách đều (18)
  • 2.3 Đa thức nội suy Newton (19)
    • 2.3.1 Đa thức nội suy Newton với mốc bất kỳ (19)
    • 2.3.2 Đa thức nội suy Newton với mốc cách đều (25)
  • 3.1 Giới thiệu lập trình MATLAB (31)
    • 3.1.1 Các thao tác trên ma trận và véctơ (31)
    • 3.1.2 Các lệnh dùng lập trình (34)
    • 3.1.3 M -files và các hàm sử dụng trong MATLAB (36)
    • 3.1.4 Các phép tính đối với đa thức (37)
    • 3.1.5 Vẽ đồ thị trong MATLAB (38)
  • 3.2 Lập trình trong MATLAB tính đa thức nội suy Lagrange (40)
    • 3.2.1 Lập trình tính đa thức nội suy Lagrange (40)
  • 3.3 Lập trình trong MATLAB tính đa thức nội suy Newton (43)
    • 3.3.1 Lập trình tính đa thức nội suy Newton (43)
    • 3.3.2 Lập trình tính giá trị gần đúng của hàm số tại một số điểm bằng đa thức nội suy Newton (46)
  • 3.4 Ứng dụng đa thức nội suy để nội suy một số giá trị trong bảng số liệu . 46 (47)
    • 3.4.1 Nhập số liệu thu thập được (47)
    • 3.4.2 Ứng dụng đa thức nội suy để tìm giá trị trong bảng số liệu (48)
  • 3.5 Ứng dụng đa thức nội suy để tìm nghiệm xấp xỉ của phương trình (51)

Nội dung

Một số tính chất của đa thức

Trong toán học, một đa thức bậc n biến x trong vành giao hoán A có đơn vị được định nghĩa dưới dạng p(x) = a0 + a1x + + an-1x^(n-1) + an*x^n, với ai ∈ A là các hệ số, trong đó an ≠ 0 là hệ số bậc cao nhất và a0 là hệ số tự do Bậc của đa thức p(x) được kí hiệu là deg p(x), và một đa thức bậc n thường được kí hiệu là pn(x), với deg pn(x) = n.

Tập hợp tất cả các đa thức với hệ số trong vành A được ký hiệu là A[x], trong đó khi A là một trường, A[x] trở thành một vành giao hoán có đơn vị Các vành đa thức phổ biến bao gồm Z[x], Q[x], R[x], và C[x] Trong khóa luận này, chúng tôi sẽ sử dụng một số kết quả liên quan đến vành đa thức R[x] và C[x] Số α ∈ A được gọi là nghiệm của đa thức p(x) nếu p(α) = 0, và bài toán tìm các nghiệm của đa thức bậc n trong A được gọi là giải phương trình đại số bậc n Theo định lý, một đa thức p(x) có bậc n ≥ 1 sẽ có nghiệm α nếu và chỉ nếu p(x) chia hết cho x−α, tức là p(x) = (x−α)p₁(x), trong đó p₁(x) là đa thức có bậc n−1.

Nếu p(x) = (x−α)p1(x) với p1(α) ≠ 0, thì α được gọi là nghiệm đơn của p(x) Ngược lại, nếu p(x) = (x−α)m p1(x) với p1(α) ≠ 0 và m là số nguyên dương lớn hơn 1, thì α là nghiệm bội m của p(x) Theo định lý D’Alembert, mọi đa thức bậc n ≥ 1 đều có ít nhất một nghiệm (thực hoặc phức) Định lý cũng chỉ ra rằng một đa thức bậc n ≥ 1 có n nghiệm (thực hoặc phức), mỗi nghiệm bội m được tính m lần, và có thể phân tích thành tích các thừa số bậc nhất: p(x) = an(x−α1)(x−α2) (x−αn), với α1, α2, αn ∈ C Cuối cùng, theo định lý, một đa thức bậc không lớn hơn n (n ≥ 1) không thể có quá n nghiệm (thực hoặc phức).

Một số tính chất của hàm số

Hàm một biến

Trong khoá luận này, D được ký hiệu là tập con khác rỗng của R Định nghĩa ánh xạ f: D→R, với x là biến số độc lập và y = f(x) là biến số phụ thuộc, cho thấy f là hàm số thực một biến số.

Miền xác định của hàm số f, ký hiệu Df = D, là tập hợp D Miền giá trị của hàm số f là tập hợp tất cả các số thực mà hàm số này đạt được tại ít nhất một điểm trong miền xác định của nó Miền giá trị của hàm số f trên miền D được ký hiệu là f(D), được định nghĩa là f(D) = {f(x) : x ∈ D}.

Giới hạn của hàm số

Định nghĩa 1.9 Giả sử hàm số f :D→R, D⊆R là tập không bị chặn trên Hàm số f có giới hạn bằng L khi x tiến đến dương vô cùng nếu:

Giới hạn của hàm số f khi x tiến đến dương vô cùng được ký hiệu là lim x→+∞f(x) = L Định nghĩa 1.10 cho biết rằng, với hàm số f :D→R, trong đó D⊆Rl là tập không bị chặn dưới, hàm số f có giới hạn bằng L khi x tiến đến âm vô cùng.

Khi x tiến đến âm vô cùng, giới hạn của hàm số f được ký hiệu là lim x→−∞f(x) = L Định nghĩa 1.11 nêu rõ rằng, với hàm số f : D → R, trong đó D ⊆ R và x0 là một điểm tụ của D, hàm số f có giới hạn khi x tiến đến x0 nếu và chỉ nếu tồn tại một số thực L thỏa mãn điều kiện này.

Đối với mọi ε > 0, tồn tại δ > 0 sao cho với mọi x thuộc D, nếu 0 < |x - x₀| < δ thì |f(x) - L| < ε Khi đó, ta ký hiệu giới hạn của f(x) khi x tiến đến x₀ là L, tức là lim(x→x₀) f(x) = L Định nghĩa 1.12: Giả sử hàm số f: D → R với D ⊆ R và x₀ là một điểm tụ của D, hàm số f có giới hạn bằng dương vô cùng khi x tiến dần đến x₀.

Đối với mọi M > 0, tồn tại δ > 0 sao cho với mọi x thuộc D, nếu 0 < |x - x0| < δ, thì f(x) > M Điều này được ký hiệu là: khi x tiến tới x0, giới hạn của f(x) là +∞, tức là f(x) → +∞ khi x → x0 Định nghĩa 1.13: Giả sử hàm số f: D → R với D ⊆ R và x0 là một điểm tụ của D Hàm số f có giới hạn bằng âm vô cùng khi x tiến dần đến x0.

Đối với mọi M > 0, tồn tại δ > 0 sao cho với mọi x thuộc D, khi 0 < |x - x0| < δ, thì f(x) < -M Điều này được ký hiệu là lim (x→x0) f(x) = -∞, hay f(x) → -∞ khi x → x0 Định nghĩa 1.14 nêu rõ rằng, nếu hàm số f: D → R với D ⊆ R và x0 là một điểm tụ của D, thì hàm số f có giới hạn bằng L tại x0 nếu

Đối với mọi ε > 0, tồn tại δ > 0 sao cho với mọi x thuộc D, nếu 0 < x - x₀ < δ, thì |f(x) - L| < ε Điều này được ký hiệu là lim x→x₀⁺ f(x) = L, hay f(x) → L khi x → x₀⁺ Định nghĩa 1.15 cho biết rằng, với hàm số f : D → R, D ⊆ R và x₀ là một điểm tụ của D, hàm số f có giới hạn trái bằng L tại x₀ nếu thỏa mãn điều kiện trên.

∀ ε >0,∃δ >0, sao cho ∀x∈D, 0< x 0 −x < δ, ta có: |f(x)−L|< ε. và được ký hiệu là: lim x→x − 0 f(x) =L hay f(x)→L khi x→ x − 0

Hàm số liên tục

Định nghĩa 1.16 Giả sử hàm số f :D→R, D⊆R Hàm số f được gọi là liên tục tại x 0 ∈D nếu:

∀ ε >0, ∃δ >0, sao cho ∀x∈D, |x−x 0 |< δ, ta có: |f(x)−f(x 0 )|< ε. Định nghĩa 1.17 Giả sử hàm số f :D→R, D⊆R Hàm số f được gọi là liên tục phải tại x 0 ∈D nếu:

∀ε >0, ∃δ >0, sao cho ∀x∈D, 06x−x 0 < δ, ta có: |f(x)−f(x 0 )|< ε. Định nghĩa 1.18 Giả sử hàm số f :D→R, D⊆R Hàm số f được gọi là liên tục trái tại x 0 ∈D nếu:

Hàm số f(x) được coi là liên tục trên khoảng (a, b) nếu tại mọi điểm x thuộc khoảng này, điều kiện ∀ε > 0, ∃δ > 0, sao cho ∀x∈D, 0 < |x - x0| < δ thì |f(x) - f(x0)| < ε được thỏa mãn Ngoài ra, hàm số f(x) được xem là liên tục trên đoạn [a, b] khi nó liên tục tại mọi điểm x trong (a, b) và đồng thời liên tục phải tại điểm a, liên tục trái tại điểm b.

Đạo hàm của hàm số

Đạo hàm của hàm f(x) tại điểm x=x0 được xác định qua giới hạn: f'(x0) = lim (x→x0) (f(x)−f(x0))/(x−x0) Nếu giới hạn này tồn tại hữu hạn, f(x) được coi là khả vi tại x0, với đạo hàm tại điểm này biểu thị hệ số góc của đường tiếp tuyến với đồ thị của hàm f(x) Nếu f(x) khả vi tại mọi điểm trong tập D, ta nói f(x) là hàm khả vi trên D Theo định lý 1.23, nếu f(x) khả vi tại x=x0, thì f(x) cũng liên tục tại điểm này Định lý Weierstrass khẳng định rằng hàm f liên tục trên đoạn [a, b] sẽ bị chặn và đạt giá trị lớn nhất cũng như nhỏ nhất trên đoạn đó Định lý Fermat chỉ ra rằng nếu f(x) liên tục trên [a, b] và khả vi trong khoảng (a, b), đạt cực trị tại c∈(a, b), thì f'(c) = 0.

(ii) f khả vi trên khoảng(a, b),

Khi đó, tồn tại ít nhất một điểm c∈(a, b) sao cho f 0 (c) = 0.

Hệ quả 1.2.1 Nếu hàm số f(x) có đạo hàm trên (a, b) và f(x) có ít nhất n nghiệm(n là số nguyên dương lớn hơn 1) trên (a, b) thì f 0 (x) có ít nhất n−1 nghiệm trên(a, b).

Sai số tương đối và sai số tuyệt đối

Sai số tuyệt đối

Sai số tuyệt đối của a là:

Chúng ta không thể xác định chính xác số đùng của a, do đó cần ước lượng sai số tuyệt đối của a bằng một số E a > 0, sao cho thỏa mãn các điều kiện đã đề ra.

Ea được gọi là sai số tuyệt đối giới hạn của số a Hay: a0 =a±Ea Rõ ràngEa càng nhỏ càng tốt.

Sai số tương đối

Sai số tương đối của số a là: δa= ∆ a

Tuy nhiên, một lần nữa ta thấy rằng số đúng a 0 thường không biết Vì vậy người ta định nghĩa đại lượng: ε a = E a

|a| làsai số tương đối giới hạn của a.

MỘT SỐ PHƯƠNG PHÁP TÌM ĐA THỨC NỘI

Chương này của khóa luận nghiên cứu các phương pháp tìm kiếm đa thức xấp xỉ cho hàm số y = f(x), dựa trên bảng số liệu thu thập từ thực tế hoặc thực nghiệm.

Cụ thể, khóa luận trình bày phương pháp nội suy Lagrange và phương pháp nội suyNewton Nội dung chương này được tham khảo từ các tài liệu [3, 4, 5, 6, 7, 8, 9, 10].

Bài toán nội suy

Sự duy nhất của đa thức nội suy

Định lý 2.2 Tồn tại duy nhất một đa thức bậc không vượt quá n đi qua n+ 1 điểm cho trước (x 0 , y 0 ), (x 1 , y 1 ), , (x n , y n ).

Chứng minh Từ (2.1) ta có hệ phương trình:

Hệ phương trình (2.3) được viết dưới dạng ma trận như sau:

Ta có ma trận hệ số của hệ phương trình này là:

 Đây chính là ma trận Vandermon, ta có: det V = Y

Vì các điểm xi và xj là khác nhau, định thức của ma trận này không bằng 0, dẫn đến hệ phương trình (2.3) có nghiệm duy nhất Do đó, đa thức P n (x) được xác định một cách duy nhất.

Sai số của đa thức nội suy

Định lý 2.3 Cho f(x) có đạo hàm liên tục đến cấp n+ 1 trên đoạn [a, b], a≤x 0 < x 1 < < x n ≤ b và P n (x) là đa thức nội suy của f(x) với f(x i ) = P(x i ) Khi đó, tồn tại ξ ∈[a, b], sao cho:

Chứng minh Giả sử f(x) có đạo hàm liên tục đến cấp n+ 1 trên [a, b] Ta tìm phần dư có dạng:f(x)− P n (x) = kω(x) Ta xét:

(x−x i ), k là hằng số được chọn từ điều kiện F (x) = 0 với x (x6=x i ,∀i= 0, n) là điểm cần đánh giá sai số.

Hàm F(x) có ít nhất n+2 nghiệm, do đó theo hệ quả của Định lý Rolle, đạo hàm F'(x) có ít nhất n+1 nghiệm phân biệt trong khoảng (a, b) Tương tự, hàm F(n+1)(x) cũng có ít nhất một nghiệm, được ký hiệu là ξ, với ξ thuộc [a, b], tức là F(n+1)(ξ) = 0.

Từ (2.4) ta suy ra được: f (n+1) (ξ) +P n (n+1) (ξ) +kω (n+1) (ξ) = 0.

(n+ 1)! Vậy sai số cần tìm có dạng:

≤M,∀x∈[a, b] thì sai số của đa thức nội suy có thể được viết dưới dạng:

Đa thức nội suy Lagrange

Đa thức nội suy Lagrange với mốc bất kỳ

Đa thức nội suy Lagrange L n (x)được xác định như sau:

Bước 1: Xác định các đa thức Lagrange cơ bản l i (x)thỏa mãn điều kiện: l i (x j ) (1(i=j) 0(i6=j), (i, j = 0, n).

Để đa thức l i (x) triệt tiêu tại n điểm x 0, x 1, , x i−1, x i+1, , x n, nó có thể được biểu diễn dưới dạng: l i (x) = C i (x−x 0)(x−x 1) (x−xi−1)(x−xi+1) (x−x n), trong đó C i là hằng số cần xác định Khi đặt x = x i trong biểu thức này, ta nhận được: l i (x i) = C i (x i−x 0)(x i−x 1) (x i−x i−1)(x i−x i+1) (x i−x n) = 1.

(x i −x 0 ) (x i −x 1 ) .(x i −x i−1 ) (x i −x i+1 ) .(x i −x n ). Thay vào (2.6), ta có: l i (x) = (x−x 0 ) (x−x 1 ) .(x−xi−1) (x−x i+1 ) .(x−x n )

(x i −x 0 ) (x i −x 1 ) .(x i −xi−1) (x i −x i+1 ) .(x i −x n ). Bước 2: Đa thức nội suy LagrangeL n (x) của f(x) được xác định bởi:

X i=0 l i (x)y i Theo Định lí 2.2,L n (x)tồn tại và duy nhất.

Nhận xét 2.2. Đa thức nội suy Lagrange bậc nhất (nội suy tuyến tính):

Khi n = 1, ta có hai nút nội suy x 0 và x 1 :

Phương trình y = L 1 (x) chính là phương trình đường thẳng đi qua hai điểm

M0(x0, y0) và M1(x1, y1). Đa thức nội suy Lagrange bậc hai:

Khi n = 2, ta có ba nút nội suy x 0 , x 1 , x 2 :

Phương trình y =L 2 (x) chính là phương trình Parabol đi qua ba điểm M 0 (x 0 , y 0 ),

Để xây dựng đa thức nội suy Lagrange cho hàm y = sin(πx), chúng ta cần sử dụng các mốc nội suy được cung cấp trong bảng: x = 0, 1, 6, 1, 2 và y = 0, 1, 2, 1 Sau khi tính toán, giá trị gần đúng của hàm số tại x = 1/8 sẽ được xác định, cùng với việc đánh giá sai số của kết quả này.

( 1 2 −0)( 1 2 − 1 6 ) = 6x 2 −x Đa thức nội suy Lagrange cần tìm:

Ta có: f(x) = sin(πx)⇒f 000 (x) =−π 3 cos(πx)⇒ |f 000 (x)|6π 3 Áp dụng biểu thức (2.5), ta có:

Đa thức nội suy Lagrange với mốc cách đều

Giả sử hàm số f(x) nhận giá trị y i tại các điểm tương ứng x i (i = 0, n) cách đều một khoảng h.

Vì các mốc nội suy cách đều nênx i+1 −x i =h, i= 0, n Đặtt= x−x h 0 ⇒ x= x 0 +ht.

= ht(ht−h) .(ht−(i−1)h) (ht−(i+ 1)h) .(ht−nh) ih(ih−h) .(ih−(i−1)h) (ih−(i+ 1)h) .(ih−nh)

= t(t−1) .(t−n) n! (−1) n−i C n i t−i Vậy đa thức nội suy Lagrange với mốc cách đều:

Ví dụ 2.2.2 Tìm đa thức nội suy của hàm số y= 5 x trên [−1,1]với các mốc nội suy cách đều như sau: x −1 0 1 y 1 5 1 5

Ta có: t =x+ 1 nên đa thức nội suy Lagrange cần tìm là:

Đa thức nội suy Newton

Đa thức nội suy Newton với mốc bất kỳ

Đa thức nội suy Newton là một phương pháp quan trọng trong toán học, sử dụng tỷ sai phân để xây dựng một đa thức nội suy với các mốc bất kỳ Để hiểu rõ hơn về phương pháp này, trước tiên chúng ta cần tìm hiểu về khái niệm tỷ sai phân, một công cụ hữu ích trong việc phân tích sự thay đổi của các hàm số.

Cho hàm sốy=f(x)xác định trên[a, b]vàn+1điểm(x 0 , f(x 0 )),(x 1 , f(x 1 )), ,(x n , f(x n )) được cho bởi bảng giá trị(y i =f(x i )): x x 0 x 1 x 2 xn−1 x n y y 0 y 1 y 2 y n−1 y n

Tỷ sai phân cấp 0 của hàm f được định nghĩa là f[xi] = f(xi) với i = 0, 1, , n Các tỷ sai phân tiếp theo được xác định một cách quy nạp dựa trên giá trị của hàm tại các điểm xi.

Ta có n tỷ sai phân cấp 1 của hàmf với i= 0,1, , n−1 Tỷ sai phân cấp

1 của xi và xi+1 có dạng: f[x i , x i+1 ] = f(x i+1 )−f(x i ) x i+1 −x i

Tương tự, ta có n−1 tỷ sai phân cấp 2của hàm f được xác định bởi: f[x i , x i+1 , x i+2 ] = f[x i+1 , x i+2 ]−f[x i , x i+1 ] x i+2 −x i

Sau khi tỷ sai phân cấp(k−1) được xác định, tỷ sai phân cấpk của hàm f xác định bởi: f[x i , x i+1 , , xi+k−1, x i+k ] = f[x i+1 , x i+2 , , x i+k ]−f[x i , x i+1 , , xi+k−1] xi+k−xi

Quá trình này kết thúc với tỷ sai phân cấp n: f[x 0 , x 1 , , x n ] = f[x 1 , x 2 , , x n ]−f[x 0 , x 1 , , xn−1] x n −x 0

Thông thường để tính toán các tỷ sai phân người ta thường lập bảng tính, chẳng hạn với n = 5 ta có:

Bảng tỷ sai phân x y f[,] f[, ,] f[, , ,] f[, , , ,] f[, , , , ,] x 0 y 0 f[x 0 , x 1 ] f[x 0 , x 1 , x 2 ] f[x 0 , x 1 , x 2 , x 3 ] f[x 0 , x 1 , x 2 , x 3 , x 4 ] f[x 0 , , x 5 ] x 1 y 1 f[x 1 , x 2 ] f[x 1 , x 2 , x 3 ] f[x 1 , x 2 , x 3 , x 4 ] f[x 1 , x 2 , x 3 , x 4 , x 5 ] x 2 y 2 f[x 2 , x 3 ] f[x 2 , x 3 , x 4 ] f[x 2 , x 3 , x 4 , x 5 ] x 3 y 3 f[x 3 , x 4 ] f[x 3 , x 4 , x 5 ] x 4 y 4 f[x 4 , x 5 ] x 5 y 5 b Một số tính chất của tỷ sai phân

Chứng minh Với k = 1, ta có: f[x 0 , x 1 ] = f(x0) x 0 −x 1 + f(x1) x 1 −x 0 Giả sử (2.7) đúng với k≤ n Khi đó: f[x 0 , x 1 , x n+1 ] = f[x 1 , x n+1 ]−f[x 0 , , x n ] x n+1 −x 0

Vậy (2.7) đã được chứng minh.

Tính chất 2.2 Tỷ sai phân là hàm đối xứng với các x i : f x 0 , x 1 , x n−1 , x n

=f[x n , xn−1, , x 1 , x 0 ]. Tính chất này được suy ra từ định nghĩa.

Tính chất 2.3 Tỷ sai phân cấp m+ 1 của đa thức bậc m đồng nhất bằng 0.

Chứng minh Giả sửP (x) là đa thức bậc m Ta phải chứng minh:

P [x, x 0 , x 1 , , x m ]≡0 ,∀ x∈[a, b], trong đó(m+ 2)sốx, x 0 , x 1 , , x m là đôi một khác nhau Ta cóP[x, x 0 ] = P (x)−P x−x (x 0 )

0 là đa thức bậc m−1 vì:

1 là đa thức bậc m−2 Bằng phương pháp quy nạp ta có P [x, x 0 , x 1 , , x k ] là đa thức bậc [m−(k+ 1)].

Vậy P [x, x 0 , x 1 , , xm−1] là đa thức bậc 0 Từ đó ta có điều phải chứng minh. c Đa thức nội suy Newton với mốc bất kỳ

Giả sử hàm số y = f(x) được xác định trên đoạn [a, b] với các điểm nội suy xi ∈ [a, b] (i = 0, n) và xi khác xj với mọi i khác j Đa thức nội suy cần tìm được ký hiệu là Pn(x), trong khi P[x, x0], P[x, x0, x1], là các tỷ sai phân của Pn(x) tại điểm x.

Xét tỷ sai phân cấp 1:

Xét tỷ sai phân cấp 2:

Xét tỷ sai phân cấpn:

Xét tỷ sai phân cấpn+ 1:

⇒ P [x, x0, , xn−1] =P[x0, x1, , xn] +P [x, x0, x1, , xn−1, xn] (x−xn).

Theo tính chất (2.3), ta có:P [x, x 0 , x 1 , , xn−1, x n ] = 0nênP [x, x 0 , , xn−1] =P [x 0 , x 1 , , x n ]. Cuối cùng ta thu được:

Ta lại có:P n (x 0 ) = y 0 =f(x 0 )vàP[x 0 , x 1 , x 2 , , x i ] =f[x 0 , x 1 , x 2 , , x i ]vớii= 0,1, , n. Vậy

+ .+f[x 0 , x 1 , , x n ] (x−x 0 ) (x−x 1 ) .(x−xn−1) (2.9) Đa thức (2.9) 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 cgần x0).

Tương tự, ta cũng cóđa thức nội suy Newton lùixuất phát từx n (thường dùng để tính gần đúng f(c) với cgần x n ):

Pn(x) = f(xn) +f[xn, xn−1] (x−xn) +f[xn, xn−1, xn−2] (x−xn) (x−xn−1)

+ .+f[x n , xn−1, , x 0 ] (x−x n ) (x−xn−1) .(x−x 1 ) (2.10) Đối với bài tập tìm đa thức nội suy Newton lùi, ta thường lập bảng tính sau, chẳng hạn vớin = 5 ta có: x y f[,] f[, ,] f[, , ,] f[, , , ,] f[, , , , ,] x 0 y 0 x 1 y 1 f[x 0 , x 1 ] x2 y2 f[x1, x2] f[x0, x1, x2] x 3 y 3 f[x 2 , x 3 ] f[x 1 , x 2 , x 3 ] f[x 0 , x 1 , x 2 , x 3 ] x 4 y 4 f[x 3 , x 4 ] f[x 2 , x 3 , x 4 ] f[x 1 , x 2 , x 3 , x 4 ] f[x 0 , x 1 , x 2 , x 3 , x 4 ] x5 y5 f[x4, x5] f[x3, x4, x5] f[x2, x3, x4, x5] f[x1, x2, x3, x4, x5] f[x0, , x5]

Trong trường hợp ta muốn xác định cả đa thức nội suy Newton tiến và lùi thì ta lập bảng tính sau, chẳng hạn với n= 5, ta có: x y f[,] f[, ,] f[, , ,] f[, , , ,] f[, , , , ,] x 0 y 0 f[x 0 , x 1 ] x1 y1 f[x0, x1, x2] f[x 1 , x 2 ] f[x 0 , x 1 , x 2 , x 3 ] x 2 y 2 f[x 1 , x 2 , x 3 ] f[x 0 , x 1 , x 2 , x 3 , x 4 ] f[x2, x3] f[x1, x2, x3, x4] f[x0, , x5] x 3 y 3 f[x 2 , x 3 , x 4 ] f[x 1 , x 2 , x 3 , x 4 , x 5 ] f[x 3 , x 4 ] f[x 2 , x 3 , x 4 , x 5 ] x4 y4 f[x3, x4, x5] f[x 4 , x 5 ] x 5 y 5

Với n= 1 (phép nội suy tuyến tính)

Cho 2 điểm A(x0, f(x0)), B(x1, f(x1)) Ta có nội suy tuyến tính là nội suy theo đường thẳng Ta lập phương trình đường thẳng AB qua hai điểm đã cho:

Cách1: Ta có vecto chỉ phương của đường thẳngAB:−→

⇒ Véctơ pháp tuyến của đường thẳng AB:~n= (f(x 1 )−f(x 0 ), x 0 −x 1 ).

Khi đó phương trình đường thẳng AB có dạng: f 1 (x) = f(x 0 ) + f(x 1 )−f(x 0 ) x 1 −x 0 (x−x 0 ).

Cách 2: Gọi phương trình đường thẳngAB cần tìm: f1(x) =a+bx.

Với n= 2 (phép nội suy bậc 2)

Cho ba điểm(x 0 , f(x 0 )),(x 1 , f(x 1 )) và (x 2 , f(x 2 )) Đa thức nội suy ba điểm là: f 2 (x) =b 0 +b 1 (x−x 0 ) +b 2 (x−x 0 )(x−x 1 ), với: b 0 =f(x 0 ), b 1 =f[x 0 , x 1 ] = f(x 1 )−f(x 0 ) x 1 −x 0 , b 2 =f[x 0 , x 1 , x 2 ] f(x 2 )−f(x 1 ) x 2 −x 1 − f(x x 1 )−f (x 0 )

Để tìm đa thức nội suy Newton tiến và lùi của hàm số f(x) với bảng giá trị sau: x = -2, -1, 1, 2, 4 và y = f(x) = -6, 0, 4, 6, 10, chúng ta áp dụng công thức nội suy Newton Kết quả là bảng tỷ sai phân sẽ được xây dựng như sau: f[,] cho các giá trị y, f[, ,] cho các sai phân bậc hai, f[, , ,] cho các sai phân bậc ba, và f[, , , ,] cho các sai phân bậc bốn.

4 10 Đa thức nội suy Newton tiến:

9 Đa thức nội suy Newton lùi:

Ví dụ 2.3.2 Cho bảng giá trị hàm số f(x) sau: x 1 2 4 5 7 9 y=f(x) −4 3 5 0 8 12 Tính gần đúng giá trị của hàm số tại x= 2.5.

Vì 2.5∈[2; 4] gần với x 0 = 1 nên ta sử dụng đa thức nội suy Newton tiến.

Ta có bảng tỷ sai phân: x y f[,] f[, ,] f[, , ,] f[, , , ,] f[, , , , ,]

9 12 Đa thức nội suy Newton tiến:

Đa thức nội suy Newton với mốc cách đều

Cho hàm số y =f(x) xác định trên [a, b] Giả sử x i (i = 0, n ) là các mốc nội suy cách đều thoả:x i =x 0 +ih , h=const.

Sai phân cấp n tại x i được tính theo sai phân cấp n−1:

∆ n y i = ∆(∆ n−1 y i ) = ∆ n−1 y i+1 −∆ n−1 y i b Một số tính chất của sai phân

Tính chất 2.4 ∆ là toán tử tuyến tính, nghĩa là ∀α, β ∈R; ∀ y, z thì:

(ii) ∆ (x n ) là đa thức bậc n−1,

Chứng minh Ta sẽ chứng minhf(x+nh) = (1 + ∆) n f(x)bằng quy nạp toán học.

+ Ta có: f(x+h) =f(x) + ∆f(x) = (1 + ∆)f(x)với 1 là toán tử đơn vị. f(x+ 2h) =f((x+h) +h) = (1 + ∆)f(x+h).

+ Giả sử (1) đúng với n=k Khi đó: f(x+ (k+ 1)h) =f((x+kh) +h) = (1 + ∆)f(x+kh)

Như vậy ta suy ra được: f(x+nh) = (1 + ∆) n f(x).

Theo khai triển nhị thức Newton, ta có:

∆ n f(x) = [(1 + ∆)−1] n f(x). Theo khai triển nhị thức Newton, ta có:

(−1) i C n i f[x+ (n−i)h]. c Đa thức nội suy Newton với mốc cách đều

Thông thường để tìm đa thức nội suy Newton tiến với mốc cách đều, người ta thường lập bảng sai phân sau, chẳng hạn với n= 5 ta có:

Từ đa thức nội suy Newton tiến (2.9): f n (x) =f(x 0 ) +f[x 0 , x 1 ] (x−x 0 ) +f[x 0 , x 1 , x 2 ] (x−x 0 ) (x−x 1 )

Vì các mốc nội suy cách đều nhau, nên với mọi điểmx∈(a, b)chúng ta đều có: t = x−x 0 h →x=x 0 +ht.

Thay vào đa thức trên, ta được:

(2.11) Đa thức (2.11) được gọi là đa thức nội suy Newton tiến xuất phát từ x0 với các mốc cách đều.

Tương tự, để tìm đa thức nội suy Newton lùi với mốc cách đều, người ta thường lập bảng sai phân sau, chẳng hạn với n = 5 ta có: x y ∆y ∆ 2 y ∆ 3 y ∆ 4 y ∆ 5 y x 0 y 0 x 1 y 1 ∆y 1 x2 y2 ∆y2 ∆ 2 y2 x 3 y 3 ∆y 3 ∆ 2 y 3 ∆ 3 y 3 x 4 y 4 ∆y 4 ∆ 2 y 4 ∆ 3 y 4 ∆ 4 y 4 x5 y5 ∆y5 ∆ 2 y5 ∆ 3 y5 ∆ 4 y5 ∆ 5 y5

Từ đa thức nội suy Newton lùi (2.10) ta có:

2!h 2 (x−x n )(x−xn−1) + .+ ∆ n y n n!h n (x−x n ) (x−x 1 ). Đặt x=x n +ht ta được:

(2.12) Đa thức (2.12) được gọi là đa thức nội suy Newton lùi xuất phát từ x n với các mốc cách đều.

Để xác định đa thức nội suy Newton tiến và lùi với các mốc nội suy cách đều, chúng ta có thể lập bảng tính Ví dụ, với n = 5, bảng sẽ bao gồm các cột như sau: x, y, ∆y, ∆²y, ∆³y, ∆⁴y, ∆⁵y, cùng với giá trị x0 và y0.

Để tìm đa thức nội suy Newton từ bảng giá trị đã cho, ta có các giá trị x: 4, 5, 6, 7 và y = f(x): 0, 4, 9, 12 Với khoảng cách h = 1, ta áp dụng công thức nội suy Newton cho các mốc cách đều, từ đó lập bảng sai phân gồm các giá trị y, ∆y, ∆²y và ∆³y.

7 12 Vậy đa thức nội suy Newton tiến có dạng:

2 x+ 54. Đa thức nội suy Newton lùi có dạng:

LẬP TRÌNH TÍNH ĐA THỨC NỘI SUY VÀ ỨNG DỤNG

Chương này hướng dẫn cách sử dụng lập trình MATLAB, bao gồm các phép toán cơ bản và hàm cần thiết để viết chương trình tìm đa thức nội suy Ngoài ra, chương cũng đề cập đến các ứng dụng thực tiễn của đa thức nội suy Nội dung được tham khảo từ tài liệu [9, 11, 12] và các nguồn thông tin trên Internet.

Giới thiệu lập trình MATLAB

Các thao tác trên ma trận và véctơ

Trong cửa sổ làm việc chính của MATLAB (Command Window), người dùng thực hiện việc nhập dữ liệu và xuất kết quả tính toán Dấu nhắc “>>” cho biết chương trình đã sẵn sàng nhận dữ liệu Để kết thúc việc nhập, người dùng chỉ cần nhấn phím Enter, và MATLAB sẽ thực hiện lệnh đã nhập và hiển thị kết quả trong Command Window.

Window Các số liệu đưa vào môi trường làm việc của MATLAB được lưu lại suốt phiên làm việc cho đến khi gặp lệnh clear all.

Nhập ma trận: Khi nhập ma trận từ bàn phím ta phải tuân theo các quy định sau:

Ngăn cách các phần tử của ma trận bằng dấu “,” hay dấu cách.

Dùng dấu “;” để kết thúc một hàng.

Bao các phần tử của ma trận bằng cặp dấu ngoặc vuông []. Để nhập các ma trận sau:

Để xác định kích thước của ma trận, ta sử dụng lệnh length để biết kích thước lớn nhất hoặc lệnh size để biết số hàng và số cột.

Khi ta không chỉ biến chứa kết quả thì MATLAB dùng biến mặc định làans.

Ma trận chuyển vị: Để tìm ma trận chuyển vị của ma trậnA, ta nhập lệnh:

Toán tử ":":Toán tử “:” là một toán tử quan trọng của MATLAB Nó xuất hiện ở nhiều dạng khác nhau Biểu thức:

>>1 : 10 ans1 2 3 4 5 6 7 8 9 10 là một véctơ chứa 10số nguyên từ 1đến 10 Còn lệnh:

>>20 : −2 : 4 ans20 18 16 14 12 10 8 6 4 tạo một dãy số giảm từ20 đến 4, cách đều nhau 2đơn vị Thêm nữa, lệnh:

>>0 : 0.1 : 10 tạo một dãy số từ0 đến 10, cách đều nhau 0.1.

Ngoài ra, MATLAB cung cấp các phép toán về hàng và cột của một ma trận Biểu thức:

>> A(:,3) ans3 4 5 tham chiếu tới cột thứ ba của ma trận A Và:

>> A(3,:) ans1 5 3 tham chiếu tới hàng thứ ba của ma trậnA Còn lệnh:

1 3 5 tạo ma trậnB từ ma trận A bằng cách đổi thứ tự các cột từ [1 2 3 4] thành [1 3 2 4].

Các toán tử logic và quan hệ:Các phép toán logic và quan hệ trong MATLAB được liệt kê ở Bảng 3.1.

Tạo ma trận bằng hàm có sẵn: MATLAB cho phép chúng ta tạo ra các hàm ma trận bằng các lệnh sau:

Ma trận nghịch đảo của ma trậnA:

) Bé hơn hoặc lớn hơn

=) Bé hơn (lớn hơn) hoặc bằng

Bảng 3.1: Các phép toán logic và quan hệ Định thức của ma trận A:

>> det(A) ans15 Hạng của ma trận A:

Ma trận đơn vị cấp 3:

Ma trận không kích thước m×n:

Các lệnh dùng lập trình

Vòng lặp "for": Vòng lặp “for” dùng khi biết trước số lần lặp Cú pháp như sau:

For = : :

Trong ví dụ trên, biến i là chỉ số bắt đầu từ 1 đến 10, và chương trình sẽ tính giá trị của x khi i lần lượt nhận các giá trị từ 1 đến 10, cho đến khi vòng lặp "for" kết thúc Ngoài ra, vòng lặp "for" cũng có thể được lồng vào nhau, như trong ví dụ sau: for i = 1 : 10 và for j = 10 : −1 : 1, trong đó A(i, j) được tính bằng (i+j)².

Vòng lặp "while":Vòng lặp “while” dùng khi không biết trước số lần lặp Cú pháp như sau: while

Cấu trúc "if – else – end" trong MATLAB cho phép thực hiện các câu lệnh dựa trên điều kiện cụ thể Cú pháp của cấu trúc này được viết như sau: if .

else

Khi có ba hoặc nhiều điều kiện thay đổi, cấu trúc lệnh điều kiện sẽ được áp dụng, bắt đầu bằng "if ".

elseif

elseif

else

end

Lệnh "break" được sử dụng để thoát khỏi vòng lặp hiện tại trong chương trình Khi lệnh "break" được thực thi, nó sẽ chỉ dừng lại vòng lặp "for" hoặc "while" mà nó đang hoạt động, bao gồm cả các vòng lặp lồng nhau, mà không ảnh hưởng đến các vòng lặp bên ngoài.

M -files và các hàm sử dụng trong MATLAB

Trong MATLAB, khi số lệnh tăng lên hoặc cần thay đổi giá trị của biến, thay vì nhập lệnh tại dấu nhắc “>>”, người dùng có thể tạo một m-file để viết nhiều tổ hợp lệnh khác nhau M-file được lưu dưới dạng “.m” và có thể được tạo bằng cách chọn New trong bảng chọn file, sau đó chọn m-file MATLAB sẽ hiển thị màn hình soạn thảo để nhập các lệnh cần thiết.

Để lưu file, chúng ta chọn "Save" từ bảng chọn file và đặt tên là "vidu.m" Khi nhập "vidu" trong cửa sổ lệnh và nhấn "Enter", các lệnh trong file sẽ được thực hiện M-file cho phép chỉnh sửa nội dung bằng cách mở lại file, thay đổi và lưu lại Các lệnh đã lưu có thể sử dụng sau này Khi nhập lệnh trong cửa sổ lệnh, kết quả sẽ hiển thị ngay trên màn hình; nếu không muốn hiển thị kết quả, chúng ta thêm dấu ";" sau lệnh.

Để tạo hàm trong MATLAB, bạn bắt đầu bằng từ "function", sau đó nhập các tham số đầu ra, dấu "=" và tên hàm Các dòng chú thích cần được ghi sau ký tự "%" Lưu ý rằng tên hàm phải trùng với tên file chứa hàm đó Ví dụ, để định nghĩa hàm tính giá trị của biểu thức, bạn cần tạo một m-file với nội dung phù hợp.

Function [y]=tinhgiatrihamso(x) y=4*x^2-5*x+1; % nhập hàm số cần tính end

Sau khi nhập xong nội dung, ta lưu file với tên “tinhgiatribieuthuc.m” Bây giờ khi ta muốn tính giá trị hàm số tạix= 5, tại cửa sổ lệnh ta nhập:

>> tinhgiatrihamso(5) ans76 Để có thể điều khiển các giá trị của biến nhập vào và các biến đầu ra, ta sử dụng các lệnh sau:

Input nhập dữ liệu đầu vàoDisp hiển thị nội dung đầu ra

Các phép tính đối với đa thức

Tìm nghiệm của đa thức là một bài toán phổ biến trong thực tế, liên quan đến việc xác định giá trị của biến sao cho đa thức bằng không MATLAB cung cấp các công cụ hữu ích để giải quyết nhanh chóng bài toán này và thực hiện các phép toán trên đa thức Trong MATLAB, một đa thức được biểu diễn dưới dạng một vector hàng các hệ số với bậc giảm dần Ví dụ, đa thức x³ - 3x² + 15x + 6 được nhập vào như sau:

>> p1 −3 15 6 p1 −3 15 6 Để tìm nghiệm của đa thức này, ta sử dụng hàm “roots”:

Trong MATLAB, đa thức được biểu diễn dưới dạng vecto hàng, trong khi các nghiệm của nó là vecto cột Nếu đã biết nghiệm của một đa thức, bạn có thể sử dụng lệnh “poly” để xác định đa thức tương ứng.

>> P =poly(r) % với r là vecto chứa nghiệm của P

P 1 −3 15 6 Tính giá trị của đa thức:Để tính giá trị của đa thức tại một điểm, ta dùng lệnh

“polyval” Ví dụ, để tính giá trị của đa thức P tại x=x 0 ta nhập lệnh sau:

Nhân đa thức: Để thực hiện nhân hai đa thức (hay nhân hai ma trận) ta dùng lệnh “conv” Ví dụ, nhân hai đa thức:

Ta thực hiện như sau:

>> r=conv(p, q) r9 −26 124 93 −114 −48 Như vậy tích của hai đa thức trên là đa thức:

Vẽ đồ thị trong MATLAB

MATLAB cung cấp nhiều công cụ vẽ đồ thị, với lệnh "plot" là phương pháp chính để biểu diễn các hàm số trong mặt phẳng Một số lệnh vẽ đồ thị khác trong MATLAB được tóm tắt trong Bảng 3.2.

Lệnh Giải thích plot là công cụ cơ bản để vẽ đồ thị, cho phép thêm tiêu đề với lệnh title, thêm nhãn cho trục x bằng xlabel và nhãn cho trục y bằng ylabel Lệnh hold on cho phép thêm các nét vẽ vào đồ thị đã có, trong khi hold off sẽ xóa cửa sổ đồ họa hiện tại và thay thế bằng một đồ thị mới Cuối cùng, lệnh grid giúp vẽ lưới trên đồ thị, tạo điều kiện thuận lợi cho việc phân tích dữ liệu.

Bảng 3.2: Một số lệnh vẽ đồ thị

Ví dụ: Để vẽ đồ thị hàm số y=sin(x) chúng ta thực hiện như sau:

>> title( 0 Đồ thị hàm số y=sin(x) 0 )Khi đó cửa sổ đồ hoạ sẽ hiển thị như Hình 3.1a.

(a) Đồ thị hàm số y = sin (x) (b) Đồ thị hàm số y = sin (x) và y = cos (x)

Hình 3.1: Vẽ đồ thị hàm số trong MATLAB

Bây giờ để vẽ đồ thị hàm sin(x)và cos(x)trên cùng hệ trục toạ độ chúng ta thêm lệnh:

Đồ thị hàm số y=sin(x) và y=cos(x) sẽ được hiển thị trên cửa sổ đồ hoạ như Hình 3.1b Để tùy chỉnh màu sắc và kiểu đường vẽ, MATLAB cung cấp các tham số được liệt kê trong Bảng 3.3.

Màu Dạng đường thẳng Dạng điểm đánh dấu

Màu đỏ: r Nét liền: - Dấu sao: *

Màu xanh lá cây: g Nét đứt: – Vòng tròn: o

Màu xanh da trời: b Nét chấm: : Điểm:

Màu đen: k Nét chấm gạch: - Chữ thập: x

Bảng 3.3:Các dạng đường thẳng, điểm đánh dấu và màu trong vẽ đồ thị

Lập trình trong MATLAB tính đa thức nội suy Lagrange

Lập trình tính đa thức nội suy Lagrange

Tạo một tệp m với tên "NS_Lagrange.m" và nhập nội dung sau: x=input('Nhập các mốc nội suy x:'); y=input('Nhập các giá trị y tương ứng của x:'); n=length(x);

F=flip(P); disp(’Da thuc noi suy can tim la: ’) for k=n:-1:1 fprintf(’+(%.6fx.^% d)’,F(k),k-1) end

%Vẽ đồ thị của hàm nội suy plot(x,y,’o’) hold on grid on

Ví dụ 3.2.1 Cho hàm số y=f(x) thoả mãn: x −3 −1 2 4 5 6 8 y=f(x) 2 −2 4 3 1 0 5

Tìm đa thức nội suy của f(x).

Chạy m-file trên và nhập lần lượt các giá trịx vày ta tìm được đa thức nội suy và đồ thị như hình 3.2. ằ NS_Lagrange

Nhap cac moc noi suy x: [-3 -1 2 4 5 6 8]

Nhap cac gia tri y tuong ung cua x: [2 -2 4 3 1 0 5]

Da thuc noi suy can tim la:

Hình 3.2: Đồ thị hàm số ở ví dụ 3.2.1

3.2.2 Lập trình tính giá trị gần đúng của hàm số tại một số điểm bằng đa thức nội suy Lagrange Để tính giá trị gần đúng f(c) bằng đa thức nội suy Lagrange ta có thể sử dụng lại kết quả đã có ở phần trên và dùng lệnh polyval để tính giá trị của đa thức nội suy tại c.

Để tính giá trị của đa thức nội suy từ ví dụ 3.2.1 tại các giá trị x = 9, 15 và 12, chúng ta cần sử dụng đa thức P(x) đã được xác định trước đó Việc này sẽ cho phép chúng ta xác định các giá trị tương ứng của đa thức tại các điểm này.

Từ đó để tính giá trị củaP(x)tại các giá trị x= 9; 15; 12, ta sử dụng lệnh polyval. Ở cửa sổ lệnh ta tiếp tục nhập lệnh sau: ằ polyval(P,[9 15 12]) ans 1429/198 -1296 -13003/99

Để tính giá trị gần đúng tại một số điểm của hàm số bằng đa thức nội suy Lagrange, bạn có thể viết một chương trình riêng để tính giá trị của các điểm cần nội suy Tạo một m-file với tên “NSLAGRANGE” và nội dung như sau: function [u]=NSLAGRANGE(x,y,z) n=length(x); for k=1:length(z).

L=0; for i = 1:n l=y(i); for j=1:n if i∼=j l=l*(z(k)-x(j))/(x(i)-x(j)); end end

L=L+l; end kq(k)=L; end u = kq’; z = [z(:),u(:)]’; disp(’Ket qua noi suy la:’) disp(’ Xi Yi’) fprintf(’%12.6f%12.6f’,z) end

Lập trình trong MATLAB tính đa thức nội suy Newton

Lập trình tính đa thức nội suy Newton

To create a Newton forward interpolation polynomial, generate an m-file named "NS_Newtontien.m" The content of the m-file includes user inputs for interpolation points (x) and corresponding values (y), followed by the calculation of divided differences stored in a matrix The program constructs a table of divided differences and displays it, then builds the Newton interpolation polynomial using a loop to format the polynomial string Finally, the script outputs the resulting polynomial and plots the original data points.

Y=P(X); plot(X,Y,’r’) Để tìm đa thức nội suy Newton lùi, chúng ta tạo một m-file và lưu dưới tên

The "NS_Newtonlui.m" file implements Newton's interpolation method It prompts users to input the interpolation points (x) and their corresponding values (y) The script initializes a matrix to store divided differences and calculates these differences iteratively The results are displayed in a formatted table showing the divided differences The polynomial is constructed based on the calculated values, with terms formatted according to the signs of the coefficients Finally, the script visualizes the data points with a plot.

Để tìm đa thức nội suy Newton cho hàm số y=f(x) dựa trên bảng giá trị đã cho, ta sử dụng m-file "NS_Newtontien.m" Nhập lần lượt các giá trị x và y từ bảng: x = {2, 3, 4, 5, 6, 7} và y = {10, 15, 12, 9, 11, 14} Sau khi thực hiện, ta sẽ nhận được đa thức nội suy và đồ thị tương ứng như hình 3.3.

Nhap cac moc noi suy x:[2 3 4 5 6 7]

Nhap cac gia tri y tuong ung cua x:[10 15 12 9 11 14]

Da thuc noi suy Newton tien la:

-0.125.*(x-2).*(x-3).*(x-4).*(x-5)-0.05.*(x-2).*(x-3).*(x-4).*(x-5).*(x-6) Để tìm đa thức nội suy Newton lùi, ta cũng làm tương tự và nhận được kết quả sau: ằ NS_Newtonlui

Nhap cac moc noi suy x:[2 3 4 5 6 7]

Nhap cac gia tri y tuong ung cua x:[10 15 12 9 11 14]

Da thuc noi suy Newton lui la:

Hình 3.3:Đồ thị hàm nội suy ở ví dụ 3.3.1

Lập trình tính giá trị gần đúng của hàm số tại một số điểm bằng đa thức nội suy Newton

Để tính giá trị gần đúng f(c) bằng đa thức nội suy Newton, ta sử dụng đa thức nội suy Newton tiến khi c gần với x0 và đa thức nội suy Newton lùi khi c gần với xn.

Ví dụ 3.3.2 Từ 6 mốc nội suy đã cho ở ví dụ 3.3.1 Hãy tính giá trị gần đúng của f(x) tại x= 6.8.

Vì x = 6.8 gần cuối bảng nên ta sử dụng đa thức nội suy Newton lùi để tính giá trị gần đúng củaf(6.8).

Sau khi ta chạy m-file và tìm đa thức nội suy Newton lùi như ví dụ 3.3.1, để tính giá trị gần đúng củaf(8), ở cửa sổ lệnh ta nhập: ằ P(6.8) ans 3450/247

Để tính giá trị gần đúng của hàm số tại một số điểm bằng đa thức nội suy Newton, bạn có thể viết một chương trình chuyên dụng Tạo một m-file có tên “NSNT” với nội dung như sau: function [u]=NSNT(x,y,z).

% x = [x1,x2, ,xn] mảng chứa các mốc nội suy x

% y = [y1,y2, ,yn] mảng chứa các giá trị y tương ứng của x

The article discusses a method for interpolating values using a divided difference approach It begins by initializing an array, z, which contains the values to be interpolated, ensuring that these values fall within the specified range of x A matrix, d, is created to store the divided differences, with the first column filled with corresponding y values The algorithm iteratively calculates the divided differences for each pair of x values Subsequently, it computes the interpolated value, yi, by multiplying the differences and accumulating the results Finally, the interpolated results are displayed in a formatted output, showing the original and interpolated values side by side.

Ứng dụng đa thức nội suy để nội suy một số giá trị trong bảng số liệu 46

Nhập số liệu thu thập được

Giả sử chúng ta có bảng số liệu chứa các giá trị của hai biến phụ thuộc x và y Sau khi hoàn tất quá trình đo đạc và thu thập dữ liệu, các giá trị này sẽ được nhập vào bảng Excel để tiện cho việc phân tích và xử lý thông tin.

Cột đầu tiên là các giá trịx (x 1 , x 2 , , x n ),

Cột thứ hai là các giá trị y tương ứng của x,

Các ômàu đỏ là các số liệu không đo được hay số liệu bị mất đi.

Vậy ta cần tìm giá trị ở các ô màu đỏ.

Ứng dụng đa thức nội suy để tìm giá trị trong bảng số liệu

Để xác định giá trị của các ô màu đỏ cần nội suy, chúng ta sẽ sử dụng bảng số liệu đã nhập vào Excel kết hợp với lập trình MATLAB Quy trình thực hiện bao gồm các bước cụ thể để đảm bảo tính chính xác và hiệu quả trong việc nội suy dữ liệu.

Để bắt đầu, hãy lấy dữ liệu từ cột Y và chuyển nó sang cột thứ ba bên cạnh Tiếp theo, trong các ô màu đỏ, sử dụng lệnh IFERROR để thay thế giá trị 0 Cuối cùng, lưu lại file Excel với tên "Dulieu1.xlsx".

Hình 3.4:Bảng số liệu thu thập được.

Bước 2: Sử dụng lập trình MATLAB để thực hiện nội suy bằng cách tạo một m-file và lưu lại với tên "NS_DuLieu1.m" Nội dung của m-file này sẽ chứa các đoạn mã cần thiết để thực hiện quá trình nội suy dữ liệu.

% Chương trình nội suy dữ liệu bằng phương pháp nội suy Lagrange a=xlsread(’Dulieu1.xlsx’); % Đọc dữ liệu ở file "Dulieu1.xlsx" đã lưu k=0;m=0; for i=1:length(a) if a(i,3)∼=0 k=k+1; x(k,1)=a(i,1); y(k,1)=a(i,3); else m=m+1; z(m,1)=a(i,1); end end

The MATLAB function [u]=NSLAGRANGE(x,y,z) is utilized to interpolate values in an Excel file where certain cells contain a value of zero By iterating through the dataset, the code replaces these zero values with interpolated results from the function, incrementing a counter 'm' for each replacement Finally, the interpolated results are displayed and saved to a text file named 'KQ NS DL1.txt' in ASCII format with tab delimiters.

% lưu kết quả dưới dạng file "KQ NS DL1.txt"

Chạy m- file trên ta nhận được kết quả nội suy được lưu ở file "KQ NS DL1.txt" trong cùng thư mục.

Ví dụ 3.4.1 [11] Cho bảng dữ liệu mực nước ở Vũng Tàu trong 24h như hình 3.5 Hãy tìm giá trị nội suy ở các ô còn trống.

Hình 3.5: Dữ liệu mực nước ở Vũng Tàu trong 24h

Bước đầu tiên là sao chép các giá trị từ cột Y sang cột thứ ba bên cạnh, đồng thời thay thế các ô trống bằng giá trị 0 bằng cách sử dụng lệnh IFERROR Cuối cùng, hãy lưu file Excel với tên "Dulieu1.xlsx".

Bước 2: Chạy m-file "NS_DL1.m" Khi đó MATLAB sẽ xuất kết quả ở file "KQ

NS DL1.txt" trong cùng thư mục với m-file trên.

Mở file "KQ NS DL1.txt" trong Excel và chuyển đổi các số liệu ở các cột thành định dạng số Sau khi nội suy, bạn có thể vẽ đồ thị để quan sát kết quả một cách trực quan.

(a) Sử dụng lệnh IFERROR (b) Kết quả nội suy dữ liệu

Hình 3.6: Thực hiện ví dụ 3.4.1

Nội suy dữ liệu có thể được thực hiện bằng phương pháp Newton, bên cạnh phương pháp Lagrange đã nêu Để thực hiện, bạn cần tạo một m-file có tên "NS_DL2.m" và làm theo các bước tương tự như trước Nội dung của m-file này sẽ chứa mã nguồn cần thiết cho quá trình nội suy.

% Chương trình nội suy dữ liệu bằng phương pháp nội suy Newton a=xlsread(’Dulieu1.xlsx’); % Đọc dữ liệu ở file "Dulieu1.xlsx" đã lưu k=0;m=0; for i=1:length(a) if a(i,3)∼=0 k=k+1; x(k,1)=a(i,1); y(1,k)=a(i,3); else m=m+1; z(m,1)=a(i,1); end end

The function [u] is defined as NSNT(x,y,z) in section 3.3.2, with an initial value of m set to 0 A loop iterates through the length of array 'a', checking for elements where the third column equals 0 For each instance found, the counter m is incremented, and the corresponding value from array 'u' is assigned to that position in column three of 'a' Finally, the interpolated results are displayed, and the updated array 'a' is saved to a text file named 'KQ NS DL2.txt' in ASCII format with tab delimiters.

% lưu kết quả dưới dạng file KQ NS DL2.txt

Ứng dụng đa thức nội suy để tìm nghiệm xấp xỉ của phương trình

Bài toán: Cho hàm số f(x) dưới dạng: x x 0 x 1 x 2 x n y y 0 y 1 y 2 y n Tìm nghiệmx của phương trình:f(x) =y (*)

Để tìm nghiệm xấp xỉ cho phương trình (*), thông thường chúng ta sẽ sử dụng đa thức nội suy P n (x) cho f(x) và giải phương trình P n (x) = y Tuy nhiên, việc giải phương trình này có thể trở nên phức tạp, đặc biệt khi n lớn Do đó, trong phần này, chúng ta sẽ khám phá một phương pháp khác để tìm nghiệm xấp xỉ, đó là sử dụng phép nội suy ngược Phương pháp này cho phép chúng ta tìm nghiệm xấp xỉ của phương trình ban đầu mà không cần phải giải bất kỳ phương trình trung gian nào, mang lại sự đơn giản và hiệu quả trong quá trình tính toán.

Phương pháp được mô tả như sau:

Bước 1: Từ bảng số liệu của f ta có bảng số liệu cho f −1 (hàm ngược của f). y i y 0 y 1 y 2 y n f −1 (y i ) x 0 x 1 x 2 x n Bước 2: Tìm đa thức nội suy bậc không quán cho f −1 f n (y)≈f −1 (y).

Khi đó nghiệm của phương trình (*) được xấp xỉ bởi: x=f −1 (y)≈f n (y).

Để tìm nghiệm xấp xỉ cho phương trình và bài toán nội suy, hàm f cần thỏa mãn hai điều kiện: thứ nhất, f phải có hàm ngược; thứ hai, các giá trị y0, y1, , yn phải phân biệt để đảm bảo phương trình có nghiệm duy nhất Để xây dựng đa thức nội suy, từ bảng số liệu của f, ta suy ra bảng số liệu cho hàm ngược f−1 Sau đó, bằng phương pháp nội suy Newton hoặc Lagrange, ta có thể tìm ra đa thức nội suy cần thiết.

Ví dụ 3.5.1 Cho hàm số f dưới dạng bảng giá trị: x 3 4 5 6 y 1 3 1 4 1 5 1 6 Tìm x sao cho f(x) = 0.23.

Để tìm đa thức nội suy P3(x) cho hàm f(x), chúng ta sử dụng phương pháp nội suy Lagrange Bằng cách chạy file "NS_Lagrange" và nhập các giá trị x, y tương ứng, chúng ta sẽ thu được kết quả mong muốn.

Khi đó nghiệm của phương trìnhP 3 (x) = 0.23có thể xem là nghiệm xấp xỉ của phương trình f(x) = 0.23 Ta có:

25 = 0 Để tìm nghiệm của phương trình trên ta sử dụng hàm roots, ở cửa sổ lệnh, ta nhập: ằroots([-1/360 1/20 -119/360 18/25])

Cách 2: Từ bảng số liệu của f ta có bảng số liệu cho f −1 (hàm ngược của f): y 1 3 1 4 1 5 1 6 f −1 (y) 3 4 5 6

Chạy m-file "NS_Lagrange" và tính giá trị gần đúng của f −1 (0.23), ta thu được kết quả: f −1 (0.23) = 2948

679 ≈4.34168Vậy nghiệm xấp xỉ của phương trình f(x) = 0.23 làx≈4.34

Khoá luận tốt nghiệp "Một số phương pháp tìm đa thức nội suy và ứng dụng" đã thực hiện được những nội dung sau:

1 Hệ thống lại một số kiến thức cơ bản về đa thức và hàm số liên quan đến lý thuyết nội suy.

Trong bài viết này, chúng ta sẽ trình bày lý thuyết về các phương pháp tìm đa thức nội suy, đặc biệt là đa thức nội suy Lagrange và đa thức nội suy Newton Mỗi phương pháp sẽ được minh họa bằng các ví dụ cụ thể để giúp người đọc dễ dàng hiểu và áp dụng Đa thức nội suy Lagrange sử dụng công thức Lagrange để xây dựng đa thức từ các điểm cho trước, trong khi đa thức nội suy Newton áp dụng phương pháp phân đoạn để tạo ra đa thức một cách hiệu quả hơn Những ví dụ minh họa sẽ làm rõ cách thức hoạt động của từng phương pháp, giúp người học nắm bắt kiến thức một cách nhanh chóng.

Lập trình MATLAB là một công cụ mạnh mẽ giúp thực hiện việc tìm kiếm đa thức nội suy một cách nhanh chóng và dễ dàng Bài viết này sẽ giới thiệu các chương trình MATLAB hỗ trợ quá trình nội suy dữ liệu và tìm nghiệm xấp xỉ cho các phương trình, đồng thời trình bày một số ứng dụng thực tiễn của đa thức nội suy.

Mặc dù đã nỗ lực nghiên cứu và tìm tòi, nhưng kiến thức của bản thân vẫn còn hạn chế, dẫn đến một số thiếu sót trong khóa luận Em rất mong nhận được sự đóng góp quý báu từ các thầy cô giáo và bạn sinh viên để cải thiện hơn nữa.

Em xin chân thành cảm ơn!

Ngày đăng: 02/06/2022, 11:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đình Trí (Chủ biên), Tạ Văn Đĩnh, Nguyễn Hồ Quỳnh, Toán học cao cấp 1, Nhà xuất bản Giáo Dục, 2006 Sách, tạp chí
Tiêu đề: Toán học cao cấp 1
Tác giả: Nguyễn Đình Trí, Tạ Văn Đĩnh, Nguyễn Hồ Quỳnh
Nhà XB: Nhà xuất bản Giáo Dục
Năm: 2006
[3] Nguyễn Minh Chương, Giải tích số, Nhà xuất bản Giáo dục, 2009 Sách, tạp chí
Tiêu đề: Giải tích số
Tác giả: Nguyễn Minh Chương
Nhà XB: Nhà xuất bản Giáo dục
Năm: 2009
[4] Tạ Văn Đĩnh, Phương pháp tính. Nhà xuất bản Giáo Dục, 1999 Sách, tạp chí
Tiêu đề: Phương pháp tính
Tác giả: Tạ Văn Đĩnh
Nhà XB: Nhà xuất bản Giáo Dục
Năm: 1999
[5] Hoàng Xuân Huấn, Các phương pháp số, Nhà xuất bản Đại học Quốc gia Hà Nội, 2004 Sách, tạp chí
Tiêu đề: Các phương pháp số
Tác giả: Hoàng Xuân Huấn
Nhà XB: Nhà xuất bản Đại học Quốc gia Hà Nội
Năm: 2004
[6] Tôn Nữ Lê Diệu Thảo, Luận văn thạc sĩ Khoa học "Phần mềm toán học MAPLE và ứng dụng nghiên cứu đa thức nội suy", Đại học Đà Nẵng, 2015 Sách, tạp chí
Tiêu đề: Luận văn thạc sĩ Khoa học "Phần mềm toán học MAPLE và ứng dụng nghiên cứu đa thức nội suy
Tác giả: Tôn Nữ Lê Diệu Thảo
Nhà XB: Đại học Đà Nẵng
Năm: 2015
[7] TS. Phan Đăng Cầu, Ths. Phan Thị Hà, Bài giảng phương pháp số, Học viện công nghệ bưu chính viễn thông Hà Nội, 2006.Tài liệu Tiếng Anh Sách, tạp chí
Tiêu đề: Bài giảng phương pháp số
Tác giả: TS. Phan Đăng Cầu, Ths. Phan Thị Hà
Nhà XB: Học viện công nghệ bưu chính viễn thông Hà Nội
Năm: 2006
[2] Hoàng Xuân Sính, Đại số đại cương. Nhà xuất bản Giáo Dục, 2016 Khác
[8] J. Douglas Faires &amp; Richard L. Burden, Numerical Methods , Third Edition, 2002 Khác
[9] G.R.Lindfield &amp; J.E.T.Penny, Numerical Methods Using MATLAB, Third Edition, 2012.Tài liệu trên Internet Khác
[10] www.slideshare.net/thanhchuongnl/chuong04[11] www.youtube.com/watch?v=rtyKKJIU2lc[12] www.mathworks.com Khác

HÌNH ẢNH LIÊN QUAN

Về mặt hình học, có nghĩa là tìm đường cong đi qua các điểm Mi (xi ,y i) i=0 ,n - Một số phương pháp tìm đa thức nội suy và ứng dụng
m ặt hình học, có nghĩa là tìm đường cong đi qua các điểm Mi (xi ,y i) i=0 ,n (Trang 14)
Thông thường để tính toán các tỷ sai phân người ta thường lập bảng tính, chẳng hạn vớin= 5ta có: - Một số phương pháp tìm đa thức nội suy và ứng dụng
h ông thường để tính toán các tỷ sai phân người ta thường lập bảng tính, chẳng hạn vớin= 5ta có: (Trang 20)
Ví dụ 2.3.1. Cho bảng giá trị hàm số f( x) sau: - Một số phương pháp tìm đa thức nội suy và ứng dụng
d ụ 2.3.1. Cho bảng giá trị hàm số f( x) sau: (Trang 24)
Bảng sai phân - Một số phương pháp tìm đa thức nội suy và ứng dụng
Bảng sai phân (Trang 29)
Ví dụ 2.3.3. Tìm đa thức nội suy Newton được cho bởi bảng giá trị sau: - Một số phương pháp tìm đa thức nội suy và ứng dụng
d ụ 2.3.3. Tìm đa thức nội suy Newton được cho bởi bảng giá trị sau: (Trang 29)
Hình 2.3.3: Ví dụ về hàm heuristic giữ lại tất cả TWU - Một số phương pháp tìm đa thức nội suy và ứng dụng
Hình 2.3.3 Ví dụ về hàm heuristic giữ lại tất cả TWU (Trang 34)
Bảng 3.2: Một số lệnh vẽ đồ thị - Một số phương pháp tìm đa thức nội suy và ứng dụng
Bảng 3.2 Một số lệnh vẽ đồ thị (Trang 38)
Hình 3.1: Vẽ đồ thị hàm số trong MATLAB - Một số phương pháp tìm đa thức nội suy và ứng dụng
Hình 3.1 Vẽ đồ thị hàm số trong MATLAB (Trang 39)
Để đặc tả màu và các kiểu đường vẽ, MATLAB cung cấp các tham số như Bảng 3.3. - Một số phương pháp tìm đa thức nội suy và ứng dụng
c tả màu và các kiểu đường vẽ, MATLAB cung cấp các tham số như Bảng 3.3 (Trang 39)
Hình 3.2: Đồ thị hàm số ở ví dụ 3.2.1 - Một số phương pháp tìm đa thức nội suy và ứng dụng
Hình 3.2 Đồ thị hàm số ở ví dụ 3.2.1 (Trang 41)
Hình 3.3: Đồ thị hàm nội suy ở ví dụ 3.3.1 - Một số phương pháp tìm đa thức nội suy và ứng dụng
Hình 3.3 Đồ thị hàm nội suy ở ví dụ 3.3.1 (Trang 46)
3.4.2 Ứng dụng đa thức nội suy để tìm giá trị trong bảng số - Một số phương pháp tìm đa thức nội suy và ứng dụng
3.4.2 Ứng dụng đa thức nội suy để tìm giá trị trong bảng số (Trang 48)
Ví dụ 3.4.1. [11] Cho bảng dữ liệu mực nước ở Vũng Tàu trong 24h như hình 3.5. Hãy tìm giá trị nội suy ở các ô còn trống. - Một số phương pháp tìm đa thức nội suy và ứng dụng
d ụ 3.4.1. [11] Cho bảng dữ liệu mực nước ở Vũng Tàu trong 24h như hình 3.5. Hãy tìm giá trị nội suy ở các ô còn trống (Trang 49)
Bước 1: Từ bảng số liệu của f ta có bảng số liệu ch of −1 (hàm ngược của f ). - Một số phương pháp tìm đa thức nội suy và ứng dụng
c 1: Từ bảng số liệu của f ta có bảng số liệu ch of −1 (hàm ngược của f ) (Trang 51)
Để tìm đa thức nội suy thì từ bảng số liệu của f ta suy ra bảng số liệu ch of −1 - Một số phương pháp tìm đa thức nội suy và ứng dụng
t ìm đa thức nội suy thì từ bảng số liệu của f ta suy ra bảng số liệu ch of −1 (Trang 52)

TỪ KHÓA LIÊN QUAN