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

Tìm hiểu và cài đặt phương pháp chia đôi để giải phương trình đa thức bậc n bất kỳ

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 (458.9 KB, 16 trang )

-1-


-2-

MỤC LỤC
Trang
CHƯƠNG I: TỔNG QUAN -----------------------------------------------------4
1. Mô tả bài toán -----------------------------------------------------------4
2. Mục tiêu cần đạt ---------------------------------------------------------4
3. Hướng giải quyết --------------------------------------------------------4
4. Môi trường cài đặt ------------------------------------------------------4
CHƯƠNG II: LÝ THUYẾT -----------------------------------------------------5
1. Cơ sở lý thuyết ------------------------------------------------------------5
1.1 Nghiệm thực của phương trình một ẩn và ý nghĩa hình học - 5
1.2 Sự tồn tại nghiệm thực của phương trình, minh họa trên đồ thị (cho ví
dụ). ------------------------------------------------------------------------6
1.3 Điều kiện hội tụ của phương pháp chia đôi ---------------------7
1.4 Thuật toán của phương pháp chia đôi ---------------------------7
2. Lưu đồ ---------------------------------------------------------------------8
CHƯƠNG III: HƯỚNG DẪN SỬ DỤNG ------------------------------------9
CHƯƠNG IV: KẾT LUẬN -----------------------------------------------------16
1. Kết quả đạt được -------------------------------------------------------16
2. Hạn chế -----------------------------------------------------------------16
3. Thu hoạch về chuyên môn và kinh nghiệm ------------------------16
4. Hướng phát triển -------------------------------------------------------16
TÀI LIỆU THAM KHẢO ------------------------------------------------------17


-3CHƯƠNG I


TỔNG QUAN

1. MÔ TẢ BÀI TOÁN
Nghiệm thực của một phương trình f(x) là số thực a thoả f(a) = 0.
Phương pháp chia đôi là phương pháp được giới thiệu trong học phần Phương
pháp tinh của trường Đại Học Bạc Liêu. Phương pháp chia đôi là tìm cách thu nhỏ
dần khoảng cách li nghiệm bằng cách chia đôi liên tiếp các khoảng cách li nghiệm
đã tìm ra.
Để tìm nghiệm thực của một phương trình cần tìm hiểu khoảng cách li nghiệm.
Nếu [a, b] là một khoảng trong đó hàm f(x) liên tục và đơn điệu, đồng thời f(a).f(b)
<0 thì [a, b] được gọi là một khoảng cách li nghiệm của phương trình f(x).
2. MỤC TIÊU CẦN ĐẠT
Tìm hiểu và cài đặt phương pháp chia đôi để giải phương trình đa thức bậc n
bất kỳ.
Giao diện thân thiện với người sử dụng và các chức năng cần thiết.
Kết quả chính xác.
3. HƯỚNG GIẢI QUYẾT
Thiết lập chương trình để sử dụng nhập vào các thông tin cân thiết: phương
trình cần tìm nghiệm, khoảng cách li nghiệm, sai số…. Chọn nhập sai số là điều cần
làm vì trong bất kỳ môn khoa học nào sai số là cần thiết và là điều cần phải nghĩ tới.
Trong quá trình thực thi chương trình phải xử lí các ngoại lệ, các lỗi có thể xảy
ra trong quá trình nhập.
Tạo giao diên than thiện, các thao tác dễ nhập, phù hợp với người sử dụng.
4. MÔI TRƯỜNG CÀI ĐẶT
Chương trình cài đặt được sử dụng bằng các ngôn ngữ như: Pascal, C, Delphi,
Visual Basic, Visual C++, Java.


-4-


LÝ THUYẾT

CHƯƠNG II

1. CƠ SỞ LÝ THUYẾT
1.1. Nghiệm thực của phương trình một ẩn và ý nghĩa hình học
a. Nghiệm thực của phương trình một ẩn.
- Ý tưởng:
Cho phương trình f(x) = 0, f(x) liên tục và trái dấu tại 2 đầu [a, b].
Giả sử f(a) < 0,f(b) < 0 (nếu ngược lại thì xét –f(x) = 0) và có f(a).f(b) < 0. Khi đó
trên [a, b] tồn tại một số lẻ nghiệm thực x ∈ [a,b] của phương trình f(x), trên [a,b]
phương trình có ít nhất 1 nghiệm µ .
- Cách tìm nghiệm µ :
Đặt [a0,b0] = [a,b] và lập vào khoảng lồng nhau [ai,bi] (i=1, 2, 3,…)
[ai, (ai-1 + bi-1)/2] nếu f((ai-1 + bi-1)/2)>0
[ai,bi] =
[bi, (ai-1 + bi-1)/2] nếu f((ai-1 + bi-1)/2)<0
Như vậy:
- Hoặc nhận được nghiệm đúng ở một bước nào đó:
µ = (ai-1 + bi-1)/2 nếu f((ai-1 + bi-1)/2) = 0
- Hoặc nhận được 2 dãy {an} và {bn}, trong đó:
{an}: là dãy đơn điệu tăng cà bị chặn trên
{bn}: là dãy đơn điệu giảm cà bị chặn dưới
nên ∃n→lim
α an = lim bn = µ là nghiệm phương trình.
Ví dụ:
Tìm nghiệm dương của phương trình f(x) = x 2 + 2x – 0,5, trong khoảng [0,1]
theo phương pháp chia đôi, ta có kết quả sau:
Số bước
lập i

1
2
3
4
5
6
7

a

b

c = (a+b)/2

f(a)

f(b)

f(c)

(a+b)/2

0
0
0
0,125
0,1875
0,21875
0,21875


1
0,5
0,25
0,25
0,25
0,25
0,234375

0,5
0,25
0,125
0,1875
0,21875
0,234375
0,2265625

-0,5
-0,5
-0,5
-0,23438
-0,08984
-0,01465
-0,01465

2,5
0,75
0,0625
0,0625
0,0625
0,0625

0,023682

0,75
0,0625
-0,23438
-0,08984
-0,01465
0,023682
0,004456

0,5
0,25
0,125
0,0625
0,03125
0,015625
0,007813


-5b. Ý nghĩa hình học của nghiệm.
Một đường cong y = f(x) liên tục đơn điệu tăng hay đơn điệu giảm nối liền hai
điểm A(a,f(a)), B(b,f(b)) ở hai miền khác nhau của trục hoành sẽ cắt trục hoành tại
điểm có tọa độ ( x0,0) và đó chính là nghiệm của phương trình f(x) = 0.
Nói cách khác, nghiệm của phương trình f(x) = 0 có ý nghĩa hình học là giao điểm
của đồ thi hàm số y = f(x) và trục hoành.
Ví dụ:
Xét phương trình :
x2 – 2x = 0 ta có đồ thị sau:

Ta thấy đồ thị của hàm số y = x 2 – 2x (đường cong đó) cắt trục hoành tại hai

điểm có tọa độ (0,0) và (2,0). Do đó, x = 0 và x = 2 là nghiệm của phương trinh.
1.2. Sự tồn tại nghiệm thực của phương trình
Nếu hàm số f(x) liên tục [ab] và f(a), f(b) trái dấu nhau f(a)*f(b)<0 thì phương
trình có ít nhất một nghiệm thuộc khoảng (a,b).
Ví dụ:
Xét y = f(x) = x – 2 trên [1,3], f(x) liên tục trên [1,3] và
f(1) = 1 - 2 = -1
f(3) = 3 - 2 = 1
f(1)*f(3) = (-1)*1 = -1<0


-6Vậy phương trình có ít nhất một nghiệm thuộc (1,3). Ta có thể thấy qua đồ thị
sau:

1.3. Điều kiện hội tụ của phương pháp chia đôi.
Nếu ta thực hiên vô hạn lần phương pháp chia đôi với khoảng [a,b] thì hoặc tại
một lần nào đó, điểm giữa khoảng là nghiệm đúng của phương trình f(x) = 0; hoặc ta
nhận được một dãy vô hạn các khoảng lồng nhau thu nhỏ dần [a 1,b1], [a2,b2],…,
[an,bn] sao cho:
f(an).(bn) < 0

bn – an = b –n a , ∀ n = 1, 2, …
2


bn – an = b –n a → 0 khi n → ∞ nên lim an = lim bn = µ.
n→
n→
2


Cho n → +∞ trong bất đẳng thức f(an).(bn) < 0, do sự liên tục của hàm số f(x), ta có:
[f(µ)]2 ≤ 0 ⇒ f(µ)] = 0. Vậy µ = α.
1.4. Thuật toán của phương pháp chia đôi.
- Khai báo hàm f(x)
- Nhập a, b sao cho f(a) < 0 và f(b) < 0
Lập
c = (a + b)/2
nếu f(c) > 0 → b = c
ngược lại a = c


-7trong khi (|f(c)| > ε ) /* | a – b | > ε và f(c)! = 0 */
- Xuất nghiệm c.
2. LƯU ĐỒ KHỐI
Start

Nhập hàm f(x), a, b, sai số

c = (a + b)/2, tính f(c)

Thay b = c

Thay a = c

f(c)*f(a)<
0

Tính e = (b – a)/2

e<


Sai

Đúng, dừng c là nghiệm gần đúng
End


-8CHƯƠNG III

HƯỚNG DẪN SỬ DỤNG

Để bắt đầu kích hoạt chạy file NienLuan1.exe như thế này

Đầu tiên ta đưa đĩa vào trong ổ đĩa cho đĩa chạy, sau đó mở ổ đĩa ra có hình
như sau:

Ta kích đúp vào
biểu tượng hình
như sau với tên :
NienLuan1.exe


-9Chương trình sẽ chạy và xuất hiện giao diện có hình như sau:

Trên giao diện chính này chúng ta sẽ thấy rõ yêu cầu hay tên đề tài, đồng thời
cũng cho biết những thông tin về GVHD và SVTH, và có ba nút chức năng trên giao
diện ứng với những số trên bàn phím hay chúng ta có thể dùng phím mũi tên để
chọn từng nút trên giao diện.



- 10 Ở hình trên nếu ta chọn:
Phím 1 ứng với phần giới thiệu đề tài.
Phím 2 ứng với phần Demo.
Phím 3 là thoát khỏi chương trình.
Nếu ta chọn phím số 1 là nút

giống như hình sau:

Ở mục này chỉ giới thiệu tổng quát về đề tài của Niên Luận 1.
Nếu chúng ta chọn phím số 2 là nút

như sau:


- 11 -

thì nó sẽ bắt đầu chương trình như sau:
Đầu tiên chúng ta chọn bậc của phương trình (ví dụ chọn bậc là 3): như trong
hình:


- 12 -

3

Nhập vào số 3 như trên là
bậc của phương trình

Sau đó nhấn nút ENTER  rồi nhập hệ số của phương trình: (ví dụ cho
phương trinh: x3 - x – 1= 0)

a[0] = 1 tương ứng với hệ số tại vị trí x3
a[1] = 0 tương ứng với hệ số tại vị trí x2
a[2] = -1 tương ứng với hệ số tại vị trí x1
a[3] = -1 tương ứng với hệ số tại vị trí x0
như hình sau:

Nhập từng hệ số
của phương
trình


- 13 Sau khi nhập hệ số của phương trình xong ta nhấn nút ENTER sẽ xuất hiện
hình sau:

 nhập khoảng cách ly nghiệm vào : ví dụ khoảng cách ly nghiệm là [12,1] như
hình trên.
Sau đó ta nhấn phím ENTER sẽ xuất hiện kết quả như bản sau:

Kết quả

Sau đó ta nhấn vào bất kỳ một nút nào trên bàn phím sẽ thoát khỏi chương
trình trên.


- 14 Nếu ta chọn phím số 3 là nút

Khi ta bấm vào phím số 3 thì chương trình sẽ kết thúc.

giống như hình sau:



- 15 CHƯƠNG IV

KẾT LUẬN

1. Kết quả nhận được
Xây dựng một chương trình Demo tương đối hoàn thiện, cũng có thể nói là đáp
ứng được yêu cầu của đề tài đặt ra. Tương đối dễ sử dụng với giao diện thân thiện.
2. Hạn chế
Chưa xây dựng đầy đủ các dạng của phương trình mà chỉ mới thực hiện trên
phương trình đa thức bậc n.
Cách bố trí các thành phần trên giao diện còn chưa đẹp lắm, còn có những hạn
chế về ngôn ngữ lập trình.
3. Thu hoạch về chuyên môn và kinh nghiệm
Việc thực hiện đề tài giúp củng cố lại kiến thức toán học đã học và tìm hiểu,
học hỏi thêm những kiến thức chưa được học. Rèn luyện kỹ năng lập trình, nâng cao
khả năng tự học và khả năng giải quyết vấn đề của bài toán.
4. Hướng phát triển
Hoàn thiện thêm để có thể thực hiện trên nhiều loại đa thức như phương trình
lượng giác, phương trình mũ…Có biện pháp làm tròn số hợp lí để cho kết quả chính
xác hơn.
Xây dựng giao diện đẹp và dễ sử dụng hơn. Thực hiện bằng nhiều ngôn ngữ
lập trình khác để có kết quả tốt hơn.


- 16 -

TÀI LIỆU THAM KHẢO
[1]. Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công nghệ thông
tin, Đại Học Bạc Liêu.

[2]. GS. Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xuất bản giáo dục 1999.
[3]. Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học Kĩ thuật, Hà
Nội 1998



×