Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.25 MB, 16 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>I. </b> SƠ ĐỒ<b> HOOCNE Tính giá tr c</b>ị ủa đa thứ<b>c </b>
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 𝑝(𝑥) = 𝑎<small>0</small>𝑥<small>𝑛</small>+ 𝑎<sub>1</sub>𝑥<small>𝑛−1</small>+ … + 𝑎 𝑥 + 𝑎<sub>𝑛−1</sub> <sub>𝑛</sub>= (𝑎<small>0</small>𝑥 + 𝑎<small>1</small>)𝑥<small>𝑛−1</small>+ 𝑎<small>2</small>𝑥<small>𝑛−2</small>+ … = ((𝑎 𝑥 + 𝑎 )𝑥 + 𝑎 )𝑥<sub>0</sub> <sub>1</sub> <sub>2</sub> <small>𝑛−2</small>+ … = (…((𝑎<sub>0</sub>𝑥 + 𝑎<sub>1</sub>)𝑥 + 𝑎<small>2</small>)𝑥 … + 𝑎<sub>𝑛</sub>) Khi 𝑥 = 𝑐 ta tính dần:
𝑎<sub>0</sub>= 𝑏<sub>0</sub>𝑎 + 𝑏<sub>1</sub> <sub>0</sub>𝑐 = 𝑏<sub>1</sub>𝑎<small>2</small>+ 𝑏<small>1</small>𝑐 = 𝑏<small>2</small>
...
𝑎<small>𝑛</small>+ 𝑏<small>𝑛−1</small>𝑐 = 𝑏<small>𝑛</small> thì 𝑏<small>𝑛</small>= 𝑝(𝑐)
Quá trình này được mô t b ng b ng sau. Gả ằ ả ọi là sơ đồ Hoocne
Hệ số đa thức 𝑎<sub>0</sub> 𝑎<sub>1</sub> 𝑎<sub>2</sub> ... 𝑎<sub>𝑛−1</sub> 𝑎<sub>𝑛 </sub> 𝑐𝑏<small>0</small> 𝑐𝑏<small>1</small> ... 𝑐𝑏<small>𝑛−2</small> 𝑐𝑏<small>𝑛−1</small>
c 𝑏<sub>0</sub> 𝑏<sub>1</sub> 𝑏<sub>2</sub> ... 𝑏<sub>𝑛−1</sub> 𝑏<sub>𝑛</sub>= 𝑝(𝑐)Ta th y các sấ ố 𝑏<sub>0</sub>, 𝑏<sub>1</sub>, 𝑏<sub>2</sub>, … , 𝑏<sub>𝑛−1</sub> là h s cệ ố ủa đa thức thương Q(x) khi chia đa thức p(x) cho đơn thức 𝑥 − 𝑐.
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">Đồng nhất theo lũy thừa của x với phương trình (1)𝛽<sub>0</sub>= 𝑎<sub>0</sub>
𝛽<sub>1</sub>− 𝛽<sub>0</sub>𝑐 = 𝑎<sub>1</sub>...
𝛽<small>𝑛</small>− 𝛽<small>𝑛−1</small>𝑐 = 𝑎<small>𝑛</small>
... Hay 𝑎<small>0</small>= 𝛽<small>0</small>
𝑎 + 𝛽<sub>1</sub> <sub>0</sub>𝑐 = 𝛽<sub>1</sub>...
𝑎<small>𝑛</small>+ 𝛽<small>𝑛−1</small>𝑐 = 𝛽<small>𝑛</small>
So sánh v i hớ ệ có được khi thay 𝑥 = 𝑐 ta thấy:
𝑏 = 𝛽<small>00</small>, 𝑏<small>1</small>= 𝛽<small>1</small>, ..., 𝑏<sub>𝑛</sub>= 𝛽<small>𝑛</small>= 𝑝(𝑐) Hay nói cách khác
𝑝(𝑥) = (𝑥 − 𝑐 𝑏)[<sub>0</sub>𝑥<small>𝑛−1</small>+ 𝑏<small>1</small>𝑥<small>𝑛−2</small>+ … + 𝑏<small>𝑛−1</small>] + 𝑝(𝑐)
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
<b>Ví d : </b>ụ Cho 𝑝(𝑥) = 𝑥 − 4𝑥 − 7𝑥<small>432</small>+ 22𝑥 +24Tính 𝑝(5) và tìm đa thức 𝑝<small>1</small>(𝑥) sao cho:
𝑝(𝑥) = (𝑥 − 5 𝑝)<sub>1</sub>(𝑥) + 𝑝(5) Lập sơ đồ Hoocne ta được:
(𝑎 ≠ 0, 𝑎<small>0𝑖</small>∈ 𝑅 với 𝑖 = 1, 𝑛)
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><small>𝑛</small>
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 +<sub>|𝑎</sub><sup>𝐴</sup>
<small>0|</small>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.
Đị<b>nh lý 2: Nếu </b>𝑎<sub>0</sub>> 0, 𝑎<sub>𝑖</sub>> 0 với 𝑖 = 1, 𝑛 thì 𝑝(𝑥)> 0 ∀𝑥 > 0; phương trình (4) khơng có nghiệm dương.
Giả ử s 𝑎<sub>0</sub>> 0, 𝑎<sub>𝑘</sub>(𝑘 ≥ 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
Cách chứng minh hoàn toàn tương tự chứng minh định lý 1.
<b>VD: Cho phương trình </b>
𝑝(𝑥) = 𝑥 − 5𝑥 − 3𝑥 − 2𝑥 + 1<small>432</small>
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: ề ứ ệ 𝑎<sub>0</sub>= 1,𝐴 = max{1,5,3,2} = 5Vậy
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: 𝑝(−𝑥) = 𝑥<small>4</small>+ 5𝑥 − 3𝑥<small>32</small>+ 2𝑥 + 1 = 0
Hệ số âm đầu tiên 𝑏<sub>2</sub>= −3 → 𝑘 = 2 và 𝐵 = |−3 = 3|
→ −𝑥 < 𝑀 = 1 + √<sup>3</sup><sub>1</sub>= 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 𝑥<small>2</small>− 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 + √<small>1</small><sup>2</sup><sub>1</sub>
= 3.
Hoặc đối với phương trình 𝑥<small>2</small>+ 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.
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>*Ứng dụng vào giải phương trình đa thức: </b>
<b>III. </b> PHƯƠNG PHÁP LOBA<b>CHEVSKY </b>
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. ợ
<b>3.1 </b> Trườ<b>ng h p ch có nghi m th c phân bi t </b>ợ ỉ ệ ự ệGiả ử s phương trình đa thức bậc n
(7) 𝑝(𝑥) = 𝑎<small>0</small>𝑥<small>𝑛</small>+ 𝑎<sub>1</sub>𝑥<small>𝑛−1</small>+ … + 𝑎 𝑥 + 𝑎 = 0<sub>𝑛−1</sub> <sub>𝑛</sub>
(𝑎 ≠ 0, 𝑎<sub>0</sub> <sub>𝑖</sub>∈ 𝑅, 𝑖 = 1, 𝑛) chỉ có các nghi m thệ ực 𝑥<sub>𝑖</sub> 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:
|𝑥<small>1</small>| > |𝑥<small>2</small>| > … > |𝑥<small>𝑛</small>| (8) D a vào (7) ta xây dự ựng phương trình mới
𝑄(𝑥) = 𝑐<sub>0</sub>𝑥<small>𝑛</small>+ 𝑐<sub>1</sub>𝑥<small>𝑛−1</small>+ … + 𝑐 𝑥 + 𝑐<sub>𝑛−1</sub> <sub>𝑛</sub>= 0 (𝑐<sub>0</sub>≠ 0) (9) Có nghiệm là −𝑥<sub>1</sub><small>𝑚</small>,−𝑥<sub>2</sub><small>𝑚</small>,… , −𝑥<sub>𝑛</sub><small>𝑚</small>. Hay:
𝑄(𝑥) = 𝑐<sub>0</sub>(𝑥 + 𝑥<small>1</small><sup>𝑚</sup>)(𝑥 + 𝑥<sub>2</sub><small>𝑚</small>) … (𝑥 + 𝑥<sub>𝑛</sub><small>𝑚</small>) = 0 (10) So sánh (9) v i (10) ta có ớ
<small>𝑐0</small>
<small>𝑥1𝑥2</small>
<small>𝑥1𝑥2</small>
Từ đó
tức là −𝑥<sub>𝑖</sub><small>𝑚</small> (với 𝑚 = 2<small>𝑘</small>) Trước h t ta xét kế ỹ bước đầu tiên Do 𝑝(𝑥) = 0 có nghiệm là nên: 𝑥<sub>𝑖</sub>
𝑝(𝑥) = 𝑎<small>0</small>(𝑥 − 𝑥<small>1</small>)(𝑥 − 𝑥<small>2</small>) … (𝑥 − 𝑥 )<small>𝑛</small>
Thay x bỏi –x
(−1)<small>𝑛</small>𝑝(−𝑥 = 𝑎) <sub>0</sub>(𝑥 + 𝑥<sub>1</sub>)(𝑥 + 𝑥<small>2</small>) … (𝑥 + 𝑥<small>𝑛</small>) suy ra (−1)<small>𝑛</small>𝑝(−𝑥)𝑝(𝑥)= 𝑎<sub>0</sub>(𝑥<small>2</small>− 𝑥<sub>1</sub>)(𝑥<small>2</small>− 𝑥<sub>2</sub>) … (𝑥<small>2</small>− 𝑥<sub>𝑛</sub>) Thay b𝑥<small>2</small> ởi –y
𝑝(𝑥) (−𝑥) = 𝑎𝑝 <sub>0</sub>(𝑦 + 𝑥<sub>1</sub>)(𝑦 + 𝑥<sub>2</sub>) … (𝑦 + 𝑥<sub>𝑛</sub>) = 𝑝<small>1</small>(𝑦) Vậy đa thức 𝑝<sub>1</sub>(𝑦) có nghiệm 𝑦<sub>𝑖</sub>= −𝑥<sub>𝑖</sub><small>2</small>. Ta khai triển 𝑝<sub>1</sub>(𝑦)
𝑝<sub>1</sub>(𝑦) = 𝑎<sub>0</sub><small>(1)</small>𝑦<small>𝑛</small>+ 𝑎<small>(1)</small><sub>1</sub> 𝑦<small>𝑛−1</small>+ … + 𝑎<sub>𝑛</sub><small>(1)</small> (11)
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Bây giờ ta tính cụ thể các 𝑎<sub>𝑖</sub><sup>(1)</sup>
Do 𝑝(𝑥) = 𝑎<sub>0</sub>𝑥<small>𝑛</small>+ 𝑎<sub>1</sub>𝑥<small>𝑛−1</small>+ … + 𝑎 𝑥 + 𝑎<sub>𝑛−1</sub> <sub>𝑛</sub>Nên 𝑝(−𝑥) = (−1)<small>𝑛</small>[𝑎<sub>0</sub>𝑥<small>𝑛</small>− 𝑎<sub>1</sub>𝑥<small>𝑛−1</small>+ … + −1( )<small>𝑛</small>𝑎<small>𝑛</small>] Hay (−1)<small>𝑛</small>𝑝(−𝑥 = 𝑎) <sub>0</sub>𝑥<small>𝑛</small>− 𝑎<sub>1</sub>𝑥<small>𝑛−1</small>+ … + −1( )<small>𝑛</small>𝑎<small>𝑛</small>
𝑎<sub>0</sub><small>(1)</small>= 𝑎<small>0</small>
𝑎<sub>1</sub><small>(1)</small>= (𝑎<sub>1</sub>− 2𝑎<small>0</small>𝑎<small>2</small>)
𝑎<sub>2</sub><sup>(1)</sup>= (𝑎<sub>2</sub>− 2𝑎<sub>1</sub>𝑎<sub>3</sub>+ 2𝑎<sub>0</sub>𝑎<sub>4</sub>) (12.1) ...
𝑎<sub>𝑛</sub><small>(1)</small>= 𝑎<sub>𝑛</sub>
Vậy ta được đa thức (11). Thay y b i x ta có ở 𝑝<small>1</small>(𝑥)
Tiếp tục q trình bình phương nghiệm. Sau khi thực hiện k lần ta thu được 𝑝<small>𝑘</small>(𝑧) = 𝑎<sub>0</sub><small>(𝑘)</small>𝑧<small>𝑛</small>+ 𝑎<sub>1</sub><small>(𝑘)</small>𝑧<small>𝑛−1</small>+ … + 𝑎<sub>𝑛</sub><small>(𝑘)</small>= 0
Có nghiệm là 𝑧<small>𝑖</small>= −𝑥<small>𝑖</small><sup>2</sup><sup>𝑘</sup> nghĩa là 𝑧<small>𝑖</small>= −𝑥<sub>𝑖</sub><small>𝑚</small>(với 𝑚 = 2<small>𝑘</small>)Khi k đủ ớn ta đượ l c dạng (9) với 𝑐<sub>𝑖</sub>= 𝑎<sub>𝑖</sub><sup>(𝑘)</sup>
Và ta có:
<small>𝑎</small><sub>𝑖−1</sub><small>(𝑘)</small>
<small>𝑎</small><sub>𝑖−1</sub><sup>(𝑘+1)</sup>
𝑎<sup>(𝑘+1)</sup><sub>𝑖</sub> ≈ [𝑎<sub>𝑖</sub><small>(𝑘)</small>]<sup>2</sup>
Logarit hai v ế
lg 𝑎<sup>(𝑘+1)</sup><sub>𝑖</sub> ≈ 2 lg 𝑎<sub>𝑖</sub><small>(𝑘)</small> 𝑖 = 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).
<b>Ví dụ: Giải phương trình </b>𝑝(𝑥) = 𝑥 − 𝑥<small>32</small>− 22𝑥 +40 = 0
Áp dụng q 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.10<small>5</small>
1,56883. 10<small>11</small>
2,33015. 10<small>22</small>
5,42101. 10<small>44</small>
-22 564 1,74096.10<small>5</small>
Và quá trình này s d ng khi ẽ ừ𝑎<sub>1</sub><small>(𝑘+1)</small>≈ [𝑎<sub>1</sub><sup>(𝑘)</sup>]<sup>2</sup>𝑎<sub>2</sub><small>(𝑘+1)</small>≈<sup>1</sup><sub>2</sub>[𝑎<sub>2</sub><small>(𝑘)</small>]<sup>2</sup>𝑎<sub>3</sub><sup>(𝑘+1)</sup>≈ [𝑎<small>(𝑘)</small><sub>3</sub> ]<sup>2</sup>...
𝑎<sub>𝑛</sub><sup>(𝑘+1)</sup>≈ [𝑎<sup>(𝑘)</sup><small>𝑛</small> ]<sup>2</sup>
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à 𝑥<small>𝑖</small>, 𝑥 , … ,𝑥<small>𝑖+1𝑖+𝑠−1</small>thì ta thay điều kiện th 2 c a h trên bứ ủ ệ ởi điều kiện:
<b>3.3 </b> Trườ<b>ng h</b>ợp phương trình (7) có nghiệ<b>m phức </b>
Ta giả ử s phương trình có cặp nghiệm ph c là và : ứ 𝑥<small>2</small> 𝑥<small>3</small>
𝑥<sub>2</sub>= 𝑟 𝑐𝑜𝑠𝜑 + 𝑖𝑠𝑖𝑛𝜑( )𝑥<sub>3</sub>= 𝑟(𝑐𝑜𝑠𝜑 − 𝑖𝑠𝑖𝑛𝜑)Và các nghi m thệ ỏa mãn điều kiện
|𝑥<small>1</small>| > |𝑥<small>2</small>| = |𝑥<small>3</small>| > |𝑥<small>4</small>| > … > |𝑥<small>𝑛</small>| M t khác ta có: ặ
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">𝑥<sub>2</sub>+ 𝑥 = 2𝑟𝑐𝑜𝑠𝜑<sub>3</sub>𝑥<sub>2</sub>𝑥<sub>3</sub>= 𝑟<small>2</small>
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:
𝑎<sub>𝑖</sub><small>(𝑘+1)</small>≈ [𝑎<sup>(𝑘)</sup><small>𝑖</small> ]<sup>2</sup> với 𝑖 ≠ 2Riêng với 𝑎<sub>2</sub><sup>(𝑘)</sup>, dựa vào hệ thức Viete ta có.
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">1) Nếu k đủ ớn để l
𝑎<sub>𝑖</sub><sup>(𝑘+1)</sup>≈ [𝑎<sup>(𝑘)</sup><small>𝑖</small> ]<sup>2</sup> 𝑖 = 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à 𝑥<sub>𝑖</sub> ệ ự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 tố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. ỏ
<b>*Ưu điểm: Có thể </b>tìm đượ<b>c các nghi m ph c </b>ệ ứ*Nhược điể<b>m: </b>
<b>- Quá trình bình phương nghiệm d</b>ẫn đế<b>n hệ s r</b>ố ấ<b>t lớn - Không ki</b>ểm soát đượ<b>c sai s c a nghi</b>ố ủ ệm phương trình
<b>- Do phép đánh giá </b>𝑎<sub>𝑖</sub><sup>(𝑘+1)</sup>≈ [𝑎<sub>𝑖</sub><small>(𝑘)</small>]<sup>2</sup> để ừ<b> d ng quá trình l p d a trên ý ki n ch</b>ặ ự ế ủ<b> quan nên khi viết chương trình khó có thể dừng thuật tốn một cách chính xác. (Chẳng h</b>ạn như ta
<b>muốn d ng l</b>ừ ặp sau k bước (k cho trướ<b>c), khi </b>lg 𝑎<sub>𝑖</sub><sup>(𝑘+1)</sup>− 2 lg𝑎<sub>𝑖</sub><sup>(𝑘)</sup><b> < epsilon (*) (v i epsilon </b>ớcho trướ<b>c) thì với m t s</b>ộ ố<b> phương trình, (*) có thể khơng chính xác. </b>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><b>IV. THU T TOÁN </b>Ậ
Đố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 *<b>Các bi n toàn c</b>ế ục đượ ử ụ<b>c s dng</b>
- n <i>Bậc c a </i>ủ đa thứ<i>c </i>
- M ng a[100] ả <i>Các h s c</i>ệ ố ủa đa thứ<i>c theo b c gi m d</i>ậ ả <i>ần </i>
- a1, b1 <i>Khoảng để tìm các cực trị trong gói min-max </i>
- sign, map (ánh x ) ạ <i>Dùng trong GDA </i>
- M ng diem[100] ả Dùng để lưu trữ<i> cận trên, c</i>ận dướ<i>i của nghiệm thực cùng các c c tr</i>ự <i>ị </i>
- m <i>Biến đếm của mảng diem[] </i>
- N1, N2 <i>Cận trên và cận dướ ủa nghiệm thực phương trìnhi c</i>
*<b>Một số hàm được sử dụng trong thuật tốn </b>
- Gói min-max bao g m các hàm: ồ+ <b>ff(x) </b> <i>Nhập hàm f(x)</i>
+ <b>f1(x0) </b> <i>Tr</i>ả ề<i> v hàm f’(x0) </i>
+ <i><b>fixeta(x0) Trả ề</b> v eta hợp lí </i>
+ <b>gda(x0) </b> <i>Gradient Desent Asent Tìm các c c tr</i>– ự <i>ị) </i>
- <b>canbac(a, n1)</b> Dùng để tính căn bậ<i>c n1 của số a (v</i>ới a dương và n1 nguyên dương)B1: Gán
B2:Trả về giá tr c a f ị ủ
- <b>f(x)</b> <i>Tính giá tr c a hàm f(x) t i x b ng Hoocne</i>ị ủ ạ ằB1: Gán 𝑏<small>0</small>= 𝑎<small>0</small>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">B1: Tìm 𝐴 = max{|𝑎<small>𝑖</small>|,𝑖 = 1, 𝑛}B2: Tính
B3: Tìm 𝑘<small>1</small>(𝑎<small>𝑘1</small>là h sệ ố âm đầu tiên )
B4: Tìm 𝐵<sub>1</sub> = max trị tuyệt đối các hệ số âm. N u không t n tế ồ ại 𝐵<sub>1</sub> thì báo về “phương trình khơng có nghiệm dương”, gán 𝑁<small>1</small>= 0rồi chuyển đến B6
B5: Tính
B6: Với 𝑖 ≡ 1(𝑚𝑜𝑑 2) thì 𝑎<small>𝑖</small>= −𝑎<small>𝑖</small> (Thay x bởi –x vào phương trình) B7: Tìm 𝑘<sub>2</sub>(𝑎<sub>𝑘</sub><sub>2</sub>là h sệ ố âm đầu tiên )
B8: Tìm = max tr tuy𝐵<small>2</small> ị ệt đối các hệ số âm. N u không t n tế ồ ại 𝐵<small>2</small> thì báo về “phương trình khơng có nghiệm âm”, gán 𝑁<sub>2</sub>= 0rồi chuyển đến B10
B9: Tính
<b>*Hàm main() </b>
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 <b>sort() </b>
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
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">B11: bisection(diem[p],diem[p+1]) <i>(do đây là khoảng cách ly nghiệm)</i> B12: p = p+1, quay lại B7
VD1: Giải phương trình 𝑥<small>4</small>+ 3𝑥<small>3</small>− 11𝑥<small>2</small>− 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) = 0<small>3</small> (phương trình có nghiệm tại điểm uốn)Input:
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="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ể<b>m c</b>ủa chương trình: Ở<b> B8 phép kiểm tra |f(diem[p])| < epsilon có th khơng </b>ể
<b>chính xác, vì gói min-max ch cho phép tính g</b>ỉ ần đúng các điể<b>m c c tr</b>ự ị. Do đó đố<b>i với các </b>
phương trình có nghiệ<b>m tại cực trị d x</b>ễ ảy ra trườ<b>ng h</b>ợ<b>p thi u k t qu . </b>ế ế ả
<b>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</b>ớ ẽ<b> rất m t thời gian. </b>ấ
</div>