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.. Để 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
Trang 2MỤ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
Trang 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
Trang 4CHƯƠNG II LÝ THUYẾT
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 đó
Đặ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
nên ∃ lim an = lim bn = µ là nghiệm phương trình.
Ví dụ:
theo phương pháp chia đôi, ta có kết quả sau:
Số bước
n →α
Trang 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
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:
đ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
Trang 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
[an,bn] sao cho:
f(an).(bn) < 0
và
bn – an = ,∀n = 1, 2, …
Vì
bn – an = → 0 khi n → ∞ nên lim an = lim bn = µ
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
b – a
2n
b – a
Trang 7trong khi (|f(c)| > ε) /* | a – b | > ε và f(c)! = 0 */
- Xuất nghiệm c.
2 LƯU ĐỒ KHỐI
Tính e = (b – a)/2
Đúng, dừng c là nghiệm gần đúng
Start
Nhập hàm f(x), a, b, sai số
c = (a + b)/2, tính f(c)
f(c)*f(a)<
0
End
Trang 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
Trang 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
Trang 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:
Trang 11thì 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:
Trang 12Sau đó 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:
3
Nhập vào số 3 như trên là bậc của phương trình
Nhập từng hệ số của phương trình
Trang 13Sau 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:
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
Kết quả
Trang 14Nếu ta chọn phím số 3 là nút giống như hình sau:
Khi ta bấm vào phím số 3 thì chương trình sẽ kết thúc
Trang 15CHƯƠ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
Trang 16TÀ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