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

báo cáo môn học giải tích số giải phương trình đa thức

16 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Định lý được chứng minh... Cách chứng minh hoàn toàn tương tự chứng minh định lý 1.. Phương trình không có nghiệm dương, tương tự đối với nghiệm âm... *Ứng dụng vào giải phương trình đa

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ N I Ộ

Trang 2

I SƠ ĐỒ HOOCNE Tính giá tr cị ủa đa thức

Tại 𝑥 = 𝑐; nếu 𝑓(𝑐) = 𝑝(𝑐) = 0 thì hiển c là nghiệm của phương trình (1) Nói chungvới c b t kấ ỳ thì 𝑝(𝑐) ≠ 0 Ta s tìm ẽ 𝑝(𝑐)

Do 𝑝(𝑥) = 𝑎0𝑥𝑛+ 𝑎1𝑥𝑛−1+ … + 𝑎 𝑥 + 𝑎𝑛−1 𝑛= (𝑎0𝑥 + 𝑎1)𝑥𝑛−1+ 𝑎2𝑥𝑛−2+ … = ((𝑎 𝑥 + 𝑎 )𝑥 + 𝑎 )𝑥0 1 2 𝑛−2+ … = (…((𝑎0𝑥 + 𝑎1)𝑥 + 𝑎2)𝑥 … + 𝑎𝑛) Khi 𝑥 = 𝑐 ta tính dần:

𝑎0= 𝑏0𝑎 + 𝑏1 0𝑐 = 𝑏1𝑎2+ 𝑏1𝑐 = 𝑏2

𝑎𝑛+ 𝑏𝑛−1𝑐 = 𝑏𝑛 thì 𝑏𝑛= 𝑝(𝑐)

Quá trình này được mô t b ng b ng sau Gả ằ ả ọi là sơ đồ Hoocne

Hệ số đa thức 𝑎0 𝑎1 𝑎2 𝑎𝑛−1 𝑎𝑛 𝑐𝑏0 𝑐𝑏1 𝑐𝑏𝑛−2 𝑐𝑏𝑛−1

c 𝑏0 𝑏1 𝑏2 𝑏𝑛−1 𝑏𝑛= 𝑝(𝑐)Ta th y các sấ ố 𝑏0, 𝑏1, 𝑏2, … , 𝑏𝑛−1 là h s cệ ố ủa đa thức thương Q(x) khi chia đa thức p(x) cho đơn thức 𝑥 − 𝑐

Trang 3

Đồng nhất theo lũy thừa của x với phương trình (1)𝛽0= 𝑎0

𝛽1− 𝛽0𝑐 = 𝑎1

𝛽𝑛− 𝛽𝑛−1𝑐 = 𝑎𝑛

Hay 𝑎0= 𝛽0

𝑎 + 𝛽1 0𝑐 = 𝛽1

𝑎𝑛+ 𝛽𝑛−1𝑐 = 𝛽𝑛

So sánh v i hớ ệ có được khi thay 𝑥 = 𝑐 ta thấy:

𝑏 = 𝛽00, 𝑏1= 𝛽1, , 𝑏𝑛= 𝛽𝑛= 𝑝(𝑐) Hay nói cách khác

𝑝(𝑥) = (𝑥 − 𝑐 𝑏)[0𝑥𝑛−1+ 𝑏1𝑥𝑛−2+ … + 𝑏𝑛−1] + 𝑝(𝑐)

Như vậy sơ đồ Hoocne có thể tính được giá trị của đa thức p(x) tại điểm x=c, đồng thời cũng cho ta đa thức thương của đa thức p(x) chia cho x-c

Ví d : ụ Cho 𝑝(𝑥) = 𝑥 − 4𝑥 − 7𝑥432+ 22𝑥 +24Tính 𝑝(5) và tìm đa thức 𝑝1(𝑥) sao cho:

𝑝(𝑥) = (𝑥 − 5 𝑝)1(𝑥) + 𝑝(5) Lập sơ đồ Hoocne ta được:

(𝑎 ≠ 0, 𝑎0𝑖∈ 𝑅 với 𝑖 = 1, 𝑛)

Trang 4

𝑛| < 𝐴| ||𝑥|𝑥 −1𝑛 ≤ |𝑎0𝑥𝑛|

Ta thấy số ạng đầ h u trội hơn hẳn các số hạng sau của đa thức Do đó x thỏa mãn (6) thì không th là nghi m cể ệ ủa phương trình (4) Định lý được chứng minh

Từ đây ta có hệ quả: S ố𝑁 = 1 +|𝑎𝐴

0|là c n trên c a modun các nghi m cậ ủ ệ ủa phương trình (4) Bây giờ ta xét trường hợp nghi m th c cệ ự ủa phương trình (4) Ta đã biết các nghi m âm ệcủa phương trình 𝑝(𝑥) = 0 cũng là nghiệm dương của phương trình 𝑝(−𝑥) = 0 Vì v y ta ch ậ ỉcần đề ập đế c n cận trên c a các nghiủ ệm dương.

Định lý 2: Nếu 𝑎0> 0, 𝑎𝑖> 0 với 𝑖 = 1, 𝑛 thì 𝑝(𝑥)> 0 ∀𝑥 > 0; phương trình (4) không có nghiệm dương

Giả ử s 𝑎0> 0, 𝑎𝑘(𝑘 ≥ 1) là hệ số âm đầu tiên tính từ 𝑘 = 1,2, … ọ g i B = max c a các tr ủ ịtuyệt đối của các h s âm Thì các nghiệ ố ệm dương của phương trình (4) thỏa mãn

𝑥 < 1 + √𝑘 𝑎𝐵

Trang 5

Cách chứng minh hoàn toàn tương tự chứng minh định lý 1

VD: Cho phương trình

𝑝(𝑥) = 𝑥 − 5𝑥 − 3𝑥 − 2𝑥 + 1432

1 Tìm mi n ch a nghi m (th c và phề ứ ệ ự ức)2 Tìm c n trên, c n ậ ậ dưới mi n ch a nghi m th c ề ứ ệ ựGiải:

1 Mi n ch a nghi m: ề ứ ệ 𝑎0= 1,𝐴 = max{1,5,3,2} = 5Vậy 𝑁 = 1 +𝑎𝐴

Ta tìm cận dướ ủi c a các nghi m th c âm Tệ ự ừ phương trình (*) ta thay x bởi –x: 𝑝(−𝑥) = 𝑥4+ 5𝑥 − 3𝑥32+ 2𝑥 + 1 = 0

Hệ số âm đầu tiên 𝑏2= −3 → 𝑘 = 2 và 𝐵 = |−3 = 3|

→ −𝑥 < 𝑀 = 1 + √31= 2.733 hay 𝑥 > −𝑀 = −2.733 V y nghi m th c cậ ệ ự ủa phương trình (*) nằm trong kho ng ả −2.733 < 𝑥 < 6 *Nhược điểm: Ta không th phân biể ệt khi nào phương trình vô nghiệm

VD: Phương trình 𝑥2− 2𝑥 + 5 = 0 không có nghiệm th c Tuy nhiên khi áp dự ụng định lý trên, ta thấy 𝑘 = 1, 𝐵 = 2 → ậ C n trên c a nghiủ ệm thực dương là: 𝑀 = 1 + √121

= 3

Hoặc đối với phương trình 𝑥2+ 2𝑥 + 5 = 0 không tồn tại h sệ ố âm, trường hợp này khi lập trình ta mặc định c n trên c a nghi m thậ ủ ệ ực dương là 0 (Phương trình không có nghiệm dương), tương tự đối với nghiệm âm

Trang 6

*Ứng dụng vào giải phương trình đa thức:

III PHƯƠNG PHÁP LOBACHEVSKY

Phương pháp này được áp dụng để tìm các nghi m gệ ần đúng của đa thức, mà không c n ầtìm mi n ch a nghiề ứ ệm cũng như không cần tìm kho ng phân ly nghiả ệm Sau đây lần lượt xét các trường h p sau ợ

3.1 Trường h p ch có nghi m th c phân bi t ợ ỉ ệ ự ệGiả ử s phương trình đa thức bậc n

(7) 𝑝(𝑥) = 𝑎0𝑥𝑛+ 𝑎1𝑥𝑛−1+ … + 𝑎 𝑥 + 𝑎 = 0𝑛−1 𝑛

(𝑎 ≠ 0, 𝑎0 𝑖∈ 𝑅, 𝑖 = 1, 𝑛) chỉ có các nghi m thệ ực 𝑥𝑖 v i trớ ị tuyệt đối khác nhau Ta đánh số các nghiệm đó thứ tự giảm d n theo trầ ị tuyệt đối:

|𝑥1| > |𝑥2| > … > |𝑥𝑛| (8) D a vào (7) ta xây dự ựng phương trình mới

𝑄(𝑥) = 𝑐0𝑥𝑛+ 𝑐1𝑥𝑛−1+ … + 𝑐 𝑥 + 𝑐𝑛−1 𝑛= 0 (𝑐0≠ 0) (9) Có nghiệm là −𝑥1𝑚,−𝑥2𝑚,… , −𝑥𝑛𝑚 Hay:

𝑄(𝑥) = 𝑐0(𝑥 + 𝑥1𝑚)(𝑥 + 𝑥2𝑚) … (𝑥 + 𝑥𝑛𝑚) = 0 (10) So sánh (9) v i (10) ta có ớ

𝑥1𝑚+ 𝑥2𝑚+ … + 𝑥𝑛𝑚=𝑐1

𝑥1𝑚𝑥2𝑚+ 𝑥2𝑚𝑥3𝑚+ … + 𝑥𝑛−1𝑚 𝑥𝑛𝑚=𝑐2

𝑐0

Trang 7

𝑥1𝑚𝑥2𝑚[1 + (𝑥2𝑥3

𝑥1𝑥2)𝑚+ … + (𝑥𝑛−1𝑥𝑛

𝑥1𝑥2 )𝑚] =𝑐2

𝑥1𝑚𝑥2𝑚… 𝑥𝑛𝑚=𝑐𝑛

Từ đó → |𝑥1| ≈ √|𝑐1

, |𝑥2| ≈ √|𝑐2

, …, |𝑥𝑛| ≈ √|𝑐𝑛

tức là −𝑥𝑖𝑚 (với 𝑚 = 2𝑘) Trước h t ta xét kế ỹ bước đầu tiên Do 𝑝(𝑥) = 0 có nghiệm là nên: 𝑥𝑖

𝑝(𝑥) = 𝑎0(𝑥 − 𝑥1)(𝑥 − 𝑥2) … (𝑥 − 𝑥 )𝑛

Thay x bỏi –x

(−1)𝑛𝑝(−𝑥 = 𝑎) 0(𝑥 + 𝑥1)(𝑥 + 𝑥2) … (𝑥 + 𝑥𝑛) suy ra (−1)𝑛𝑝(−𝑥)𝑝(𝑥)= 𝑎0(𝑥2− 𝑥1)(𝑥2− 𝑥2) … (𝑥2− 𝑥𝑛) Thay b𝑥2 ởi –y

𝑝(𝑥) (−𝑥) = 𝑎𝑝 0(𝑦 + 𝑥1)(𝑦 + 𝑥2) … (𝑦 + 𝑥𝑛) = 𝑝1(𝑦) Vậy đa thức 𝑝1(𝑦) có nghiệm 𝑦𝑖= −𝑥𝑖2 Ta khai triển 𝑝1(𝑦)

𝑝1(𝑦) = 𝑎0(1)𝑦𝑛+ 𝑎(1)1 𝑦𝑛−1+ … + 𝑎𝑛(1) (11)

Trang 8

Bây giờ ta tính cụ thể các 𝑎𝑖(1)

Do 𝑝(𝑥) = 𝑎0𝑥𝑛+ 𝑎1𝑥𝑛−1+ … + 𝑎 𝑥 + 𝑎𝑛−1 𝑛Nên 𝑝(−𝑥) = (−1)𝑛[𝑎0𝑥𝑛− 𝑎1𝑥𝑛−1+ … + −1( )𝑛𝑎𝑛] Hay (−1)𝑛𝑝(−𝑥 = 𝑎) 0𝑥𝑛− 𝑎1𝑥𝑛−1+ … + −1( )𝑛𝑎𝑛

𝑎0(1)= 𝑎0

𝑎1(1)= (𝑎1− 2𝑎0𝑎2)

𝑎2(1)= (𝑎2− 2𝑎1𝑎3+ 2𝑎0𝑎4) (12.1)

𝑎𝑛(1)= 𝑎𝑛

Vậy ta được đa thức (11) Thay y b i x ta có ở 𝑝1(𝑥)

Tiếp tục quá trình bình phương nghiệm Sau khi thực hiện k lần ta thu được 𝑝𝑘(𝑧) = 𝑎0(𝑘)𝑧𝑛+ 𝑎1(𝑘)𝑧𝑛−1+ … + 𝑎𝑛(𝑘)= 0

Có nghiệm là 𝑧𝑖= −𝑥𝑖2𝑘 nghĩa là 𝑧𝑖= −𝑥𝑖𝑚(với 𝑚 = 2𝑘)Khi k đủ ớn ta đượ l c dạng (9) với 𝑐𝑖= 𝑎𝑖(𝑘)

Và ta có: 𝑥𝑖2𝑘≈𝑎𝑖(𝑘)

𝑎𝑖−1(𝑘) 𝑖 = 1, 𝑛 (13) Vậy k thế nào là đủ lớn? Giả ử s đến bước thứ k ta có đa thức (9), ta tính tiếp bước k+1:

𝑎𝑖−1(𝑘+1) 𝑖 = 1, 𝑛 (14)Ta so sánh (13) và (14) Do 𝑎0(𝑘+1)= [𝑎0(𝑘)]2ta được

𝑎(𝑘+1)𝑖 ≈ [𝑎𝑖(𝑘)]2 𝑖 = 1, 𝑛 (15)

Trang 9

Logarit hai v ế

lg 𝑎(𝑘+1)𝑖 ≈ 2 lg 𝑎𝑖(𝑘) 𝑖 = 1,𝑛 (16)Nghĩa là logarit của hệ số bước sau gấp 2 lần logarit c a h sủ ệ ố bước trước tương ứng T ừ(15) và (16) cho thấy phương trình (7) chỉ có các nghiệm thực đơn và nghiệm gần đúng được tìm từ (14)

Ví dụ: Giải phương trình 𝑝(𝑥) = 𝑥 − 𝑥32− 22𝑥 +40 = 0

Áp dụng quá trình bình phương nghiệm và công thức (I) ta được kết quả như bảng sau:

0 1 2 3 4 5 6

1 1 1 1 1 1 1

-1 45 897 4,56417.105

1,56883 1011

2,33015 1022

5,42101 1044

-22 564 1,74096.105

≈ 4,00000 |𝑥2| ≈ [3,40284.101,84469 10. 10283]

Trang 10

Và quá trình này s d ng khi ẽ ừ𝑎1(𝑘+1)≈ [𝑎1(𝑘)]2𝑎2(𝑘+1)≈12[𝑎2(𝑘)]2𝑎3(𝑘+1)≈ [𝑎(𝑘)3 ]2

𝑎𝑛(𝑘+1)≈ [𝑎(𝑘)𝑛 ]2

Trong trường hợp phương trình (7) có s nghiệm th c b ng nhau ho c có trự ằ ặ ị tuyệt đối xấp xỉ nhau là 𝑥𝑖, 𝑥 , … ,𝑥𝑖+1𝑖+𝑠−1thì ta thay điều kiện th 2 c a h trên bứ ủ ệ ởi điều kiện:

3.3 Trường hợp phương trình (7) có nghiệm phức

Ta giả ử s phương trình có cặp nghiệm ph c là và : ứ 𝑥2 𝑥3

𝑥2= 𝑟 𝑐𝑜𝑠𝜑 + 𝑖𝑠𝑖𝑛𝜑( )𝑥3= 𝑟(𝑐𝑜𝑠𝜑 − 𝑖𝑠𝑖𝑛𝜑)Và các nghi m thệ ỏa mãn điều kiện

|𝑥1| > |𝑥2| = |𝑥3| > |𝑥4| > … > |𝑥𝑛| M t khác ta có: ặ

Trang 11

𝑥2+ 𝑥 = 2𝑟𝑐𝑜𝑠𝜑3𝑥2𝑥3= 𝑟2

Hoàn toàn tương tự như trên, bằng phương pháp bình phương nghiệm liên tiếp và v i k ớđủ lớn:

𝑎𝑖(𝑘+1)≈ [𝑎(𝑘)𝑖 ]2 với 𝑖 ≠ 2Riêng với 𝑎2(𝑘), dựa vào hệ thức Viete ta có

Trang 12

1) Nếu k đủ ớn để l

𝑎𝑖(𝑘+1)≈ [𝑎(𝑘)𝑖 ]2 𝑖 = 0, 𝑛 Thì phương trình (7) chỉ có nghiệm th c phân biự ệt 2) Khi 1) không xảy ra, nhưng có i để

Với k đủ lớn, ta có th tin r ng (7) có mể ằ ột nghiệm th c bự ội là hay có s nghi m th c mà 𝑥𝑖 ệ ựcó trị tuyệt đối gần nhau Hiện tượng này có th x y ra v i 2, 3 h sể ả ớ ệ ố, lúc đó sẽ có 2, 3 nghiệm bội

3) N u có h sế ệ ố thay đổi không theo quy lu t thì có th tin rậ ể ằng phương trình (7) có một cặp nghiệm ph c N u có t i 2, 3 h sứ ế ớ ệ ố thay đổi không theo quy luật thì tương ứng sẽ có 2, 3 cặp nghiệm ph c liên hứ ợp

Tuy nhiên, những điều nói trên chỉ là nhận xét sơ bộ Mu n khố ẳng định được ta cần tính toán đến cùng và ki m tra b ng cách thay lể ằ ại vào phương trình (7) để biết giá trị nào th a mãn ỏ

*Ưu điểm: Có thể tìm được các nghi m ph c ệ ứ*Nhược điểm:

- Quá trình bình phương nghiệm dẫn đến hệ s rố ất lớn - Không kiểm soát được sai s c a nghiố ủ ệm phương trình

- Do phép đánh giá 𝑎𝑖(𝑘+1)≈ [𝑎𝑖(𝑘)]2 để ừ d ng quá trình l p d a trên ý ki n chặ ự ế ủ quan nên khi viết chương trình khó có thể dừng thuật toán một cách chính xác (Chẳng hạn như ta

muốn d ng lừ ặp sau k bước (k cho trước), khi lg 𝑎𝑖(𝑘+1)− 2 lg𝑎𝑖(𝑘) < epsilon (*) (v i epsilon ớcho trước) thì với m t sộ ố phương trình, (*) có thể không chính xác

Trang 13

IV THU T TOÁN

Đối với phương pháp Lobachevsky, do khả năng lập trình còn y u kém nên nhóm em gế ặp phải mộ ốt s vấn đề khi lập trình Do v y em s dậ ử ụng phương pháp tìm miền ch a nghi m và các ứ ệđiểm c c tr ự ị

INPUT: B c cậ ủa đa thức n, các hệ số a[0], a[1], …, a[n]OUTPUT: Nghiệm của phương trình f(x)=0 *Các bi n toàn cế ục đượ ử ục s dng

- n Bậc c a ủ đa thức

- M ng a[100] ả Các h s cệ ố ủa đa thức theo b c gi m dậ ả ần

- a1, b1 Khoảng để tìm các cực trị trong gói min-max

- sign, map (ánh x ) ạ Dùng trong GDA

- M ng diem[100] ả Dùng để lưu trữ cận trên, cận dưới của nghiệm thực cùng các c c tr

- m Biến đếm của mảng diem[]

- N1, N2 Cận trên và cận dướ ủa nghiệm thực phương trìnhi c

*Một số hàm được sử dụng trong thuật toán

- Gói min-max bao g m các hàm: ồ+ ff(x) Nhập hàm f(x)

+ f1(x0) Trả ề v hàm f’(x0)

+ fixeta(x0) Trả ề v eta hợp lí

+ gda(x0) Gradient Desent Asent Tìm các c c tr– ự ị)

- canbac(a, n1) Dùng để tính căn bậc n1 của số a (với a dương và n1 nguyên dương)B1: Gán 𝑓 = 𝑒𝑛11ln (𝑎)= 𝑎1𝑛1= √𝑎𝑛1

B2:Trả về giá tr c a f ị ủ

- f(x) Tính giá tr c a hàm f(x) t i x b ng Hoocneị ủ ạ ằB1: Gán 𝑏0= 𝑎0

Trang 14

B1: Tìm 𝐴 = max{|𝑎𝑖|,𝑖 = 1, 𝑛}B2: Tính 𝑅 = 1 +|𝑎𝐴

B3: Tìm 𝑘1(𝑎𝑘1là h sệ ố âm đầu tiên )

B4: Tìm 𝐵1 = max trị tuyệt đối các hệ số âm N u không t n tế ồ ại 𝐵1 thì báo về “phương trình không có nghiệm dương”, gán 𝑁1= 0rồi chuyển đến B6

B5: Tính 𝑁1= 1 + √𝐵1

B6: Với 𝑖 ≡ 1(𝑚𝑜𝑑 2) thì 𝑎𝑖= −𝑎𝑖 (Thay x bởi –x vào phương trình) B7: Tìm 𝑘2(𝑎𝑘2là h sệ ố âm đầu tiên )

B8: Tìm = max tr tuy𝐵2 ị ệt đối các hệ số âm N u không t n tế ồ ại 𝐵2 thì báo về “phương trình không có nghiệm âm”, gán 𝑁2= 0rồi chuyển đến B10

B9: Tính 𝑁2= 1 + √𝐵2

*Hàm main()

B1: Nhập input n, mảng a[n]

B2: Tìm miền nghi m (s d ng hàm timmiennghiem()) ệ ử ụ

B3: Dùng gói tìm min-max để tìm c c trự ị, lưu các cực trị vào m ng diem[] ảB4: Lưu hai giá trị -N1, N2 vào mảng diem[]

B5: S p x p mắ ế ảng theo th t ứ ự tăng dần bằng sort()

B6: Kh i t o biở ạ ến l p p = 0 ặ

B7: Ki m tra n u p m+1 thì k t thúc thu t toán ể ế > ế ậ

B8: Ki m tra f(diem[p]) = 0 ho c |f(diem[p])| < epsilon, n u sai chuyể ặ ế ển đến B10 B9: In ra p là nghi m, p = p+1 ệ

B10: Ki m tra f(diem[p],diem[p+1]) < 0) nể ếu sai chuyển đến B12

Trang 15

B11: bisection(diem[p],diem[p+1]) (do đây là khoảng cách ly nghiệm) B12: p = p+1, quay lại B7

VD1: Giải phương trình 𝑥4+ 3𝑥3− 11𝑥2− 3𝑥 +10 = 0 Input:

Output: Chương trình đưa ra kết quả phương trình có 4 nghiệm thực -5, -1, 1 và 2 VD2: Giải phương trình (𝑥 + 1) = 03 (phương trình có nghiệm tại điểm uốn)Input:

Trang 16

Output: Phương trình có nghiệm thực -1.000577

Nghiệm tìm được chỉ mang tính x p xấ ỉ so v i nghiớ ệm đúng của phương trình, do tính ch t cấ ủa gói min-max

Tuy nhiên có một nhược điểm khi step quá bé, m t sộ ố điểm cực tr s bị ẽ ị lưu lại nhiều l n v i các ầ ớkết quả x p xấ ỉ nhau, ví d khi cho step = 0.001 ụ ở chương trình trên chỉ cho 1 kết qu nghi m, ả ệnhưng khi thay step = 0.0001 thì sẽ được kết quả như dưới:

*Nhược điểm của chương trình: Ở B8 phép kiểm tra |f(diem[p])| < epsilon có th không

chính xác, vì gói min-max ch cho phép tính gỉ ần đúng các điểm c c trự ị Do đó đối với các

phương trình có nghiệm tại cực trị d xễ ảy ra trường hp thi u k t qu ế ế ả

Bên cạnh đó do sử dụng phương pháp chia đôi nên đố ới các phương trìnhi v có khoảng nghiệm l n sớ ẽ rất m t thời gian

Ngày đăng: 29/05/2024, 17:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w