Tải bản đầy đủ (.pdf) (16 trang)

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

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">

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

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<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>

| < 𝐴

<sub>| |</sub><sup>|𝑥|</sup><sub>𝑥 −1</sub><sup>𝑛</sup>

≤ |𝑎

<small>0</small>

𝑥

<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

𝑥 < 1 + √

<small>𝑘</small> <sub>𝑎</sub><sup>𝐵</sup>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

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

𝑁 = 1 +

<sub>𝑎</sub><sup>𝐴</sup>

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ó ớ

𝑥

<sub>1</sub><small>𝑚</small>

+ 𝑥

<small>2</small><sup>𝑚</sup>

+ … + 𝑥

<small>𝑛</small><sup>𝑚</sup>

=

<sup>𝑐</sup><small>1</small>

𝑥

<small>1</small><sup>𝑚</sup>

𝑥

<small>2</small><sup>𝑚</sup>

+ 𝑥

<small>2</small><sup>𝑚</sup>

𝑥

<small>3</small><sup>𝑚</sup>

+ … + 𝑥

<small>𝑛−1</small><sup>𝑚</sup>

𝑥

<small>𝑛</small><sup>𝑚</sup>

=

<sup>𝑐</sup><small>2</small>

<small>𝑐0</small>

...

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

𝑥

<small>1</small><sup>𝑚</sup>

𝑥

<small>2</small><sup>𝑚</sup>

[1 + (

<sup>𝑥</sup><small>2𝑥</small><sub>3</sub>

<small>𝑥1𝑥2</small>

)

<sup>𝑚</sup>

+ … + (

<sup>𝑥</sup><small>𝑛−1𝑥𝑛</small>

<small>𝑥1𝑥2</small>

)

<sup>𝑚</sup>

] =

<sup>𝑐</sup><small>2</small>

𝑥

<small>1</small><sup>𝑚</sup>

𝑥

<small>2</small><sup>𝑚</sup>

… 𝑥

<small>𝑛</small><sup>𝑚</sup>

=

<sup>𝑐</sup><small>𝑛</small>

Từ đó

→ |𝑥

<small>1</small>

| ≈ √|

<sup>𝑐</sup><small>1</small>

, |𝑥

<small>2</small>

| ≈ √|

<sup>𝑐</sup><small>2</small>

, …, |𝑥

<small>𝑛</small>

| ≈ √|

<sup>𝑐</sup><small>𝑛</small>

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ó:

𝑥

<sub>𝑖</sub><small>2𝑘</small>

<sup>𝑎</sup><small>𝑖</small><sup>(𝑘)</sup>

<small>𝑎</small><sub>𝑖−1</sub><small>(𝑘)</small>

𝑖 = 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:

<small>𝑎</small><sub>𝑖−1</sub><sup>(𝑘+1)</sup>

𝑖 = 1, 𝑛

(14)Ta so sánh (13) và (14). Do 𝑎<sub>0</sub><small>(𝑘+1)</small>= [𝑎<small>0</small><sup>(𝑘)</sup>]<sup>2</sup>ta được

𝑎<sup>(𝑘+1)</sup><sub>𝑖</sub> ≈ [𝑎<sub>𝑖</sub><small>(𝑘)</small>]<sup>2</sup>

𝑖 = 1, 𝑛

(15)

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

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>

≈ 4,00000 |𝑥

<sub>2</sub>

| ≈ [

<sup>3,40284.10</sup><sub>1,84469 10</sub><sub>.</sub> <sup>102</sup><sub>83</sub>

]

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

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

𝑓 = 𝑒

<small>𝑛1</small><sup>1</sup>ln (𝑎)

= 𝑎

<sup>1</sup><small>𝑛1</small>

= √𝑎

<small>𝑛1</small>

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

𝑅 = 1 +

<sub>|𝑎</sub><sup>𝐴</sup>

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

𝑁

<small>1</small>

= 1 + √

<small>𝐵</small><sub>1</sub>

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

𝑁

<small>2</small>

= 1 + √

<small>𝐵2</small>

<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>

×