Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
1,6 MB
Nội dung
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TƠN ĐỨC THẮNG KHOA CƠNG NGHỆ THƠNG TIN &TỐN ỨNG DỤNG LUẬN VĂN TỐT NGHIỆP Đề tài: Phương pháp số tìm nghiệm phương trình phi tuyến ứng dụng Giảng viên hướng dẫn: Thầy HUỲNH VĂN KHA Sinh viên thực hiện: 070473M TRẦN THỊ THỤY MY 070502M NGUYỄN THỊ THẢO THI Lớp : 07TN1D Khóa : 11 TP.Hồ Chí Minh, tháng 07 năm 2011 Lời Cảm Ơn Luận văn tốt nghiệp bước ngoặt đánh dấu chuyển tiếp từ sinh viên trở thành kĩ sư hay cử nhân chúng em Quá trình làm luận văn q trình mà chúng em học tập, tích lũy kiểm tra lại kiến thức học áp dụng vào thực tế Trong trình thực luận văn, chúng em nhận hỗ trợ động viên nhiều từ gia đình, thầy hướng dẫn bạn Nay khó khăn qua, luận văn hồn thành, với lịng biết ơn sâu sắc, chúng em xin chân thành gởi lời cám ơn đến gia đình cá nhân giúp đỡ động viên chúng em lúc khó khăn thời gian vừa qua Chúng em xin chân thành cảm ơn thầy Huỳnh Văn Kha thầy hướng dẫn trực tiếp đề tài Trong trình làm luận văn, thầy tận tình hướng dẫn, định hướng hỗ trợ việc thực đề tài, giúp chúng em giải khó khăn luận Và chúng em xin cảm ơn quý thầy cô khoa Công Nghệ Thơng Tin Tốn Ứng Dụng giúp cho chúng em có kiến thức năm học trường Đại học Tôn Đức Thắng Chúng em xin chân thành cảm ơn Xin chúc tất người sức khỏe thành đạt Tp.Hồ Chí Minh, ngày 18 tháng 07 năm 2011 Sinh viên thực 070473M 070502M n h h n h M h o hi Nhaän xét Giảng Viên Hướng Dẫn Nhận xét Giảng Viên Phản Biện MỤC LỤC Chương : Phương trình phi tuyến Trang 1.1 Tìm khoảng chứa nghiệm Trang 11 1.1.1 Phương pháp giải tích Trang 13 1.1.2 Phương pháp hình học Trang 13 1.1.3 Một số ví dụ Trang 14 1.2 Giải phương trình phi tuyến f(x)=0 Trang 19 1.2.1 Phương pháp chia đôi khoảng chứa nghiệm Trang 19 1.2.1.1 Nội dung phương pháp Trang 19 1.2.1.2 Chứng minh hội tụ phương pháp Trang 20 1.2.1.3 Đánh giá sai số phương pháp Trang 20 1.2.1.4 Ứng dụng: Bài toán minh họa Matlab Trang 21 1.2.2 Phương pháp lặp Trang 25 1.2.2.1 Nội dung phương pháp Trang 25 1.2.2.2 Chứng minh hội tụ phương pháp Trang 25 1.2.2.3 Đánh giá sai số phương pháp Trang 27 1.2.2.4 Ứng dụng: Bài toán minh họa Matlab Trang 29 1.2.3 Phương pháp dây cung Trang 33 1.2.3.1 Nội dung phương pháp Trang 33 1.2.3.2 Chứng minh hội tụ phương pháp Trang 35 1.2.3.3 Đánh giá sai số phương pháp Trang 36 1.2.3.4 Ứng dụng: Bài toán minh họa Matlab Trang 38 1.2.4 Phương pháp tiếp tuyến (Phương pháp Newton - Raphson) Trang 44 1.2.4.1 Nội dung phương pháp Trang 44 1.2.4.2 Chứng minh hội tụ phương pháp Trang 46 1.2.4.3 Đánh giá sai số phương pháp Trang 47 1.2.4.4 Ứng dụng: Bài toán minh họa Matlab Trang 48 Trang Chương 2: Phương trình đa thức Trang 52 2.1 Một số định lý & quy tắc nghiệm phương trình đa thức Trang 53 2.2 Phương pháp tìm nghiệm thực (Phương pháp Newton) Trang 56 2.2.1 Nội dung phương pháp Trang 58 2.2.1.1 Thuật giải tìm nghiệm thực Trang 58 2.2.1.2 Tìm nghiệm Trang 58 2.2.2 Bài toán ứng dụng Matlab Trang 59 2.3 Phương pháp tìm nghiệm phức(Phương pháp Muller) Trang 61 2.3.1 Nội dung phương pháp Trang 62 2.3.1.1 Thuật giải tìm nghiệm thực Trang 62 2.3.1.2 Tìm nghiệm Trang 63 2.3.2 Bài toán ứng dụng Matlab Trang 64 Tài liệu tham khảo Trang 68 Trang y x3 x f ( x) f '( x) f "( x) f ( x) f '( x) f "( x) f ( x) f '( x) f "( x) f ( x) f '( x) f "( x) f ( x) f '( x) f "( x) Trang LỜI MỞ ĐẦU Giải phương trình phi tuyến bước tiến xa để giải toán thực tế Tuy nhiên đa số phương trình thường phức tạp, số đưa dạng phép biến đổi đại số, số có sẵn cơng thức nghiệm để giải công thức cồng kềnh phức gây trở ngại tính tốn, hầu hết phương trình phi tuyến cịn lại khơng có cách giải tìm nghiệm xác Cho nên có nhiều phương pháp tìm nghiệm gần đời nội dung chủ yếu luận văn tốt nghiệp Mặc dù có đầy đủ phương pháp tìm nghiệm ta khó khăn việc tính tốn tính chất đặc trưng phương pháp lặp lại nhiều lần dễ gây nhầm lẫn tính tốn Chính mà phát triển khoa học máy tính có hỗ trợ nhiều cho công việc Mặc khác, nhiều vấn đề lý thuyết hội tụ, tốc độ hội tụ, độ xác, độ phức tạp tính tốn giải thơng qua cơng cụ tính tốn đại Ngày ta có nhiều phần mềm tính tốn giúp ta giải tốn cách nhanh chóng Điển hình ta sử dụng phần mềm Matlab để chạy số ví dụ minh họa Do đó, tin học môn không phần quan trọng để hỗ trợ cho q trình nghiên cứu học tập Để ứng dụng nhanh chóng, hiểu biết hiểu sâu thuật tốn kết hợp lý thuyết thực hành cần thiết Nói tóm lại, nội dung luận văn đưa phương pháp để tìm nghiệm gần phương trình phi tuyến ứng dụng phần mềm Matlab để chạy ví dụ cụ thể phương pháp Trang Tìm nghiệm phương trình phi tuyến ứng dụng Chương Phương trình phi tuyến f ( x) = Phương trình f ( x ) = thường gặp nhiều thực tế Tuy nhiên, ngồi số lớp phương trình đơn giản phương trình bậc nhất, bậc hai, bậc ba bậc bốn phương trình có cơng thức nghiệm biểu diễn qua hệ số, vài lớp phương trình giải nhờ phương pháp đại số (phân tích thừa số, đặt ẩn phụ, …) để đưa phương trình bậc bậc hai Cịn lại hầu hết phương trình phi tuyến khơng giải nghiệm xác khơng có cơng thức biểu diễn nghiệm qua hệ số phương trình Vì vậy, người ta thường tìm cách tìm nghiệm gần phương trình Ngay biết cơng thức nghiệm phương trình giá trị sử dụng công thức nhiều không cao (do tính phức tạp cơng thức ví dụ có nhiều thức cồng kềnh gây khó khăn tính tốn) Hơn nữa, đa số phương trình xuất từ toán thực tế mà thông tin đầu vào (như đo đạc,…) thể hệ số công thức gần (sai số đo đạc, đánh giá, tính tốn sơ bộ,…) Vì vậy, việc tìm nghiệm xác khơng có ý nghĩa thực tế lớn Trong đó, với phương pháp giải gần phương trình, ta thường có cơng thức đánh giá độ xác nghiệm gần tìm nghiệm đến độ xác cho trước, nên phương pháp giải gần phương trình có ý nghĩa quan trọng toán thực tế Các phương pháp giải xác phương trình mang tính đơn lẻ (cho lớp phương trình), cịn phương pháp giải gần mang tính phổ dụng: phương pháp dùng để giải cho lớp phương trình rộng (ví dụ: địi hỏi hàm số liên tục chẳng hạn) Vậy khả ứng dụng phương pháp giải gần cao SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang Tìm nghiệm phương trình phi tuyến ứng dụng Để giải gần phương trình, ln giả thuyết rằng: f ( x ) hàm xác định liên tục đoạn đường thẳng thực Trong số phương pháp, ta giả thuyết f ( x ) khả vi đến cấp cần thiết (có đạo hàm cấp đạo hàm cấp hai) Nếu f ( x ) = điểm x gọi nghiệm khơng điểm phương trình f ( x ) = Ta giả thuyết nghiệm cô lập, tức tồn lân cận điểm x không chứa nghiệm khác phương trình Khoảng lân cận (chứa x ) gọi khoảng cách li nghiệm x Giải gần phương trình f ( x ) = tiến hành theo bước: Bước 1: Tìm khoảng chứa nghiệm Bước 2: Giải gần phương trình f ( x ) = SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 10 Tìm nghiệm phương trình phi tuyến ứng dụng Định lý 8: (Định lý Cauchy) Nếu ta có đa thức p ( x ) = a0 + a1 x + a2 x + + an x n với an ≠ ta có hai đa thức mới: P( x) = an x n − an−1 x n−1 − − a0 Q ( x) = an x n + an−1 x n−1 + + a1 x − a0 Theo quy tắc đổi dấu Descarte P( x) có xác nghiệm thực dương R nghiệm thực âm r Vậy tất nghiệm đa thức p ( x ) thỏa r ≤ x ≤ R Ví dụ: Ta có đa thức: p ( x) = x5 − 3.7 x + 7.4 x3 − 10.8 x + 10.8 x − 6.8 Thì P( x) = x − 3.7 x − 7.4 x3 − 10.8 x − 10.8 x − 6.8 Q ( x) = x5 + 3.7 x + 7.4 x3 + 10.8 x + 10.8 x − 6.8 Giả sử ta tính nghiệm P( x) R = 5.6 , r = 0.63 Vậy nghiệm p ( x ) phải thỏa điều kiện 0.63 ≤ x ≤ 5.6 Định lý 9: Nếu ta có đa thức p ( x ) = a0 + a1 x + a2 x + + an x n với an ≠ Và r := + max 0≤ k ≤ n −1 ak an Thì tất nghiệm p ( x ) thỏa x ≤ r Ví dụ: Ta có đa thức: p( x) = x3 − x − 1 r =1+ = Vậy tất nghiệm p ( x ) thỏa x ≤ SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 55 Tìm nghiệm phương trình phi tuyến ứng dụng 2.2 Phương pháp tìm nghiệm thực (Phương pháp Newton) Ta có đa thức: p ( x) = a0 + a1 x + a2 x + an x n , với an ≠ (Dạng chuẩn) Ta có cơng thức khai triển Taylor cho đa thức p ( x ) , với c ∈ ( a, b ) - khoảng chứa nghiệm p ( x ) sau: ∞ p ( x ) = ∑ ak ( x − c ) k k =0 f ( k ) (c ) đó: ak = k! Khi p ( x ) có dạng: p ( x) = a0 + a1 ( x − c) + a2 ( x − c) + an ( x − c)n (Dạng tắc) Ta có đa thức Newton dạng khái quát dạng tắc trên: p ( x) = a0 + a1 ( x − c1 ) + a2 ( x − c1 )( x − c2 ) + + an ( x − c1 )( x − c2 ) ( x − cn ) Ta đặt ( x − c1 ) làm nhân tử chung: p ( x) = a0 + ( x − c1 ){a1 + a2 ( x − c2 ) + a3 ( x − c2 )( x − c3 ) + + an ( x − c2 )( x − c3 ) ( x − cn )} Lại đặt ( x − c2 ) làm nhân tử chung: p ( x) = a0 + ( x − c1 ){a1 + ( x − c2 )[a2 + a3 ( x − 3) + + an ( x − c3 ) ( x − cn )]} Tiếp tục ta có: p ( x) = a0 + ( x − c1 ){a1 + ( x − c2 ) [ a2 + ( x − c3 ) a3 + +( x − cn−1 )(an−1 + ( x − cn )an ) ]} Thuật giải Nested multiplication cho đa thức Newton: Bước 1: Chọn giá trị z ∈ ( a, b ) - khoảng chứa nghiệm p ( x ) Bước 2: a 'n := an , i := n − Bước 3: a 'i := + ( z − ci +1 )a 'i +1 , SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 56 Tìm nghiệm phương trình phi tuyến ứng dụng i = i − Nếu i ≠ ta lặp lại Bước Nếu i = ta kết thúc thuật giải có p ( z ) = a '0 Áp dụng thuật giải ta có hệ số từ a '0 a 'n Với: an = a 'n , = a 'i + a 'i +1 (ci +1 − z ) với i = n − 1, n − 2, ,0 Ta có đa thức p ( x ) mới: p ( x) = a '0 + a '1 ( x − z ) + a '2 ( x − z )( x − c1 ) + a '3 ( x − z )( x − c1 )( x − c2 ) + + a 'n ( x − z )( x − c1 )( x − c2 ) ( x − cn−1 ) Với giá trị từ c1 đến cn −1 không, đặt ( x − z ) làm nhân tử chung ta được: p ( x) = a '0 + ( x − z ){a '1 + a '2 x + + a 'n x n−1} = a '0 + ( x − z )q ( x) Tức lấy đa thức p ( x ) chia cho ( x − z ) đa thức thương q ( x ) với số dư a '0 Nếu đặt x = z ta lại có p ( z ) = a '0 Mục tiêu phương pháp ứng dụng phương pháp Newton để tìm nghiệm thực phương trình đa thức Để làm điều ta khơng tính p ( x ) mà cịn tính p '( x ) Để tính p '( x ) x = z , ta lấy đạo hàm p ( x ) theo x được: p '( x) = q ( x) + q '( x)( x − z ) Sau đặt x = z , ta được: p '( z ) = q ( z ) Ta áp dụng Thuật giải Nested multiplication lần để tìm q ( z ) Tương tự ta có: q ( x) = a "1 + ( x − z ) {a "2 + a "3 x + + a "n x n−2 } = a "1 + ( x − z )r ( x) Dựa ý tưởng nảy ta có thuật giải sau SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 57 Tìm nghiệm phương trình phi tuyến ứng dụng 2.2.1 Nội dung phương pháp 2.2.1.1 Thuật giải tìm nghiệm thực Cho đa thức: p ( x) = a0 + a1 x + a2 x + + an x n với an ≠ có n + hệ số (a0 , , an ) có ( a, b ) khoảng chứa nghiệm Ta thực bước sau: Bước 1: Chọn giá trị ban đầu xo ∈ ( a, b ) Bước 2: Ta đặt a 'n := an , a "n := a 'n , k := n − Bước 3: Tính a 'k := ak + x0 a 'k +1 a "k := a 'k + x0 a "k +1 k = k −1 Bước 4: Nếu k > lặp lại Bước Nếu k = chuyển sang Bước Bước 5: Tính a '0 := a0 + x0 a '1 x0 = x0 − a '0 a "1 Lặp lại từ Bước đến Bước thỏa : p ( xo ) = 2.2.1.2 Tìm nghiệm thực Sau ứng dụng thuật giải ta tìm nghiệm thực ξ đa thức Để tìm nghiệm cịn lại ta sử dụng nghiệm vừa tìm áp dụng cơng thức sau để tìm giá trị x0 Sau áp dụng lại thuật giải tìm nghiệm: xi +1 = xi − p ( xi ) k p ( xi ) r =1 ( xi − ξ r ) p '( xi ) − ∑ SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 58 Tìm nghiệm phương trình phi tuyến ứng dụng 2.2.2 Bài toán minh họa Matlab Tìm nghiệm phương trình đa thức: p( x) = x3 + x − = Ta thấy p (1) = −1 p (2) = Nên phương trình p ( x) = có nghiệm nằm khoảng (1, ) Và phương trình p ( x) = có nghiệm thực dương hai nghiệm phức (theo Quy tắc đổi dấu Descarte) Ứng dụng Matlab ta có đoạn code sau: >> a=[-3 1]; >> x=1.5; >> n=4; >> a1(n)=a(n); >> a2(n)=a1(n); >> count = 0; >> fprintf('%3i %12.8f %12.8f\n',count,x,p(x)) >> fprintf(' \n') >> while abs(p(x))>0.00001 k=n-1; while k>1 a1(k)=a(k)+x*a1(k+1); a2(k)=a1(k)+x*a2(k+1); fprintf('%3i%12.8f%12.8f\n',k,a1(k),a2(k)) k=k-1; end a1(1)=a(1)+x*a1(2); x=x-(a1(1)/a2(2)); count = count +1; fprintf('\n') fprintf(' %3i%12.8f%12.8f\n',count,x,p(x)) fprintf(' -\n') end SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 59 Tìm nghiệm phương trình phi tuyến ứng dụng Vậy phương trình đa thức x + x − = có nghiệm thực là: >> x x= 1.2134 Sau chạy xong chương trình ta có output sau: 1.5000000 1.87500000 1.50000000 3.00000000 3.25000000 7.75000000 1.25806452 0.24923635 1.25806452 2.51612903 2.58272633 5.74817898 1.21470533 0.00701404 1.21470533 2.42941067 2.47550905 5.42652714 1.21341279 0.00000609 - % Khi count = x = 1.5 p ( x) = 1.875 ta có giá trị a1, a2 k 3, % Khi count = x = 1.258 p ( x) = 0.249 ta có giá trị a1, a2 k 3, % Khi count = x = 1.214 p ( x) = 0.007 ta có giá trị a1, a2 k 3, % Khi count = x = 1.213 p ( x ) = 0.000006 ≈ → Thuật giải dừng lại SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 60 Tìm nghiệm phương trình phi tuyến ứng dụng 2.3 Phương pháp tìm nghiệm phức (Phương pháp Muller) Phương pháp Muller ứng dụng tìm nghiệm hàm giải tích (đặc biệt hữu ích việc tìm nghiệm đa thức) Phương pháp biến thể phương pháp dây cung tìm nghiệm phức hàm giải tích Trong phương pháp dây cung ta bắt đầu với hai giá trị x0 x1 , giá trị gần x1 giao điểm trục hoành với đường thẳng nối hai điểm ( x0 , f ( x0 )) ( x1 , f ( x1 )) Hình 2.1 Tìm nghiệm phương pháp dây cung với nghiệm gần x2 Sau ta lại tiếp tục với điểm ( x1 , f ( x1 )) ( x2 , f ( x2 )) tìm nghiệm gần Phương pháp Muller bắt đầu ba giá trị x0 , x1 , x2 điểm gần giao điểm trục hoành với parabol (đi qua ba điểm ( x0 , f ( x0 )) , ( x1 , f ( x1 )) ( x2 , f ( x2 )) ) SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 61 Tìm nghiệm phương trình phi tuyến ứng dụng Hình 2.2 Tìm nghiệm phương pháp Muller với nghiệm gần x3 Sau lại tiếp tục với điểm ( x1 , f ( x1 )) , ( x2 , f ( x2 )) ( x3 , f ( x3 )) tìm nghiệm gần Lưu ý phương pháp thực cách tìm nghiệm phương trình bậc hai nên tìm nghiệm phức phương trình 2.3.1 Nội dung phương pháp 2.3.1.1 Thuật giải tìm nghiệm Cho đa thức: f ( x) = a0 + a1 x + a2 x + + an x n với an ≠ có n + hệ số (a0 , , an ) có ( a, b ) khoảng chứa nghiệm Ta thực bước sau: Bước 1: Lấy ba giá trị x0 , x1 , x2 ∈ (a, b) Tính f ( x0 ), f ( x1 ), f ( x2 ) Bước 2: Tính h1 = x1 − x0 , h2 = x2 − x1 , f [ x2 , x1 ] = f ( x2 ) − f ( x1 ) , h2 f [ x1 , x0 ] = f ( x1 ) − f ( x0 ) h1 SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 62 Tìm nghiệm phương trình phi tuyến ứng dụng Bước 3: Đặt i = Bước 4: Tính f [ xi , xi −1 , xi −2 ] = f [ xi , xi −1 ] − f [ xi −1 , xi −2 ] , hi + hi −1 ci := f [ xi , xi −1 ] + hi f [ xi , xi −1 , xi −2 ] Bước 5: Tính hi +1 := −2 f ( xi ) ci ± ci2 − f ( xi ) f [ xi , xi −1 , xi−2 ] Chọn dấu để ci ± ci2 − f ( xi ) f [ xi , xi −1 , xi −2 ] max Bước 6: Đặt xi +1 = xi + hi +1 Bước 7: Tính f ( xi +1 ) f [ xi +1 , xi ] = f ( xi +1 ) − f ( xi ) hi +1 Bước 8: Đặt i = i +1 Lặp lại Bước đến Bước điều kiện sau: xi − xi −1 < ε1 xi f ( xi ) < ε Hoặc số lần lặp giới hạn đặt Trong ε1 , ε sai số đặt để tìm nghiệm gần 2.3.1.2 Tìm nghiệm Sau ứng dụng thuật giải ta tìm nghiệm ξ đa thức Để tìm nghiệm cịn lại ta sử dụng nghiệm vừa tìm để xây dựng đa thức sau : f1 ( x) = f ( x) (x − ξ ) Tổng quát tìm r nghiệm : SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 63 Tìm nghiệm phương trình phi tuyến ứng dụng f r ( x) = f ( x) ( x − ξ1 )( x − ξ ) ( x − ξ r ) Khi có đa thức ta lại ứng dụng thuật giải để tìm nghiệm 2.3.2 Bài tốn minh họa Matlab Tìm nghiệm phương trình đa thức: f ( x) = x3 + x − = Ta thấy f (1) = −1 f (2) = nên phương trình f ( x ) = có nghiệm nằm khoảng (1, ) Và phương trình f ( x ) = có nghiệm thực dương hai nghiệm phức (theo Quy tắc đổi dấu Descarte) Ứng dụng Matlab ta có đoạn code sau: >> p0 = 1.2; >> p1 = 1.5; >> p2 = 1.8; >> h1 = p1 - p0; >> h2 = p2 - p1; >> d1 = (f(p1) - f(p0))/h1; >> d2 = (f(p2) - f(p1))/h2; >> d = (d2 - d1)/(h2 + h1); >> i = 3; >> h = 1; >> count = 0; fprintf('count phan thuc phan ao\n' ) fprintf( ' -\n ') while i < 20 && abs(h)>1e-14 b = d2 + h2*d; D = sqrt(b^2 - 4*f(p2)*d); if abs(b - D)1e-14 p0 = p1; p1 = p2; p2 = p3; h1 = p1 - p0; h2 = p2 - p1; d1 = (f(p1) - f(p0))/h1; d2 = (f(p2) - f(p1))/h2; d = (d2 - d1)/(h2 + h1); i = i + 1; end count = count +1; fprintf(' %3i%12.8f%12.8f\n',count,p3,imag(p3)) end Vậy ta có nghiệm đa thức là: >> p3 p3 = 1.2134 Sau chạy chương trình ta có output sau: count phan thuc phan ao -1 1.21384008 0.00000000 1.21339794 0.00000000 1.21341166 0.00000000 1.21341166 0.00000000 1.21341166 0.00000000 SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 65 Tìm nghiệm phương trình phi tuyến ứng dụng Ta có biến đếm count để xác định số lần lặp thuật giải Mỗi lần lặp count tăng lên tương ứng với giá tri p3 bao gồm phần thực lẫn phần ảo Áp dụng cơng thức có đa thức mới: f ( x) x3 + x − = f1 ( x) = ( x − 1.2134) ( x − 1.2134) Chạy lại thuật giải với đa thức : >> p0 = 1.2; >> p1 = 1.5; >> p2 = 1.8; >> h1 = p1 - p0; >> h2 = p2 - p1; >> d1 = (f(p1) - f(p0))/h1; >> d2 = (f(p2) - f(p1))/h2; >> d = (d2 - d1)/(h2 + h1); >> i = 3; >> h = 1; >> count = 0; fprintf( 'count phan thuc phan ao\n ') fprintf( ' \n ') while i < 20 && abs(h)>1e-14 b = d2 + h2*d; D = sqrt(b^2 - 4*f(p2)*d); if abs(b - D)1e-14 p0 = p1; p1 = p2; SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 66 Tìm nghiệm phương trình phi tuyến ứng dụng p2 = p3; h1 = p1 - p0; h2 = p2 - p1; d1 = (f(p1) - f(p0))/h1; d2 = (f(p2) - f(p1))/h2; d = (d2 - d1)/(h2 + h1); i = i + 1; end count = count +1; fprintf(' %3i%12.8f%12.8f\n',count,p3,imag(p3)) end Và ta có nghiệm : >> p3 p3 = -0.6067 - 1.4506i Sau chạy chương trình ta có output sau: count phan thuc phan ao -1 -0.54532198 -1.47662153 -0.60671264 -1.45062166 -0.60670583 -1.45061225 -0.60670583 -1.45061225 -0.60670583 -1.45061225 Ta có -0.6067 - 1.4506i nghiệm phương trình đa thức p ( x) = nên -0.6067 + 1.4506i nghiệm p ( x) = (Định lý 6) Kết luận phương trình đa thức p ( x) = có nghiệm là: 1.2134 -0.6067 - 1.4506i -0.6067 + 1.4506i SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang 67 Tìm nghiệm phương trình phi tuyến ứng dụng Kết luận Đề tài “Phươn pháp số tìm n hiệm ần đún phươn trình phi tuyến ứn dụn ” đề tài hay mẻ sinh viên khối kỹ thuật, vi n thông Gi i phươn trình phi tuyến bước tiến xa để i i toán tron thực tế Tuy nhiên đa số phươn trình thườn phức tạp, số đưa dạn b n bằn phép biến đổi đại số, số có sẵn thức n hiệm để i i nhưn côn thức cồn kềnh phức ây trở n ại tính tốn, hầu hết phươn trình phi tuyến cịn lại khơn có cách i i tìm n hiệm xác Với đề tài “Phươn pháp số tìm n hiệm ần đún phươn trình phi tuyến ứn dụn ”, chún em nhận thấy nội dun đề tài hay đưa phươn pháp để tìm n hiệm ần đún phươn trình phi tuyến ứn dụn phần mềm Matlab để chạy ví dụ cụ thể từn phươn pháp Thơng qua trình tính tốn bằn chươn trình Matlab, ta rút kết luận phươn pháp dẫn đến việc tìm n hiệm ần đún phươn trình hưn có phươn pháp hội tụ nhanh, có phươn pháp hội tụ chậm Qua thời ian thực luận văn này, chún em củn cố lại nhiều kiến thức quan trọn cần thiết Bên cạnh đó, đề tài cũn ây hứn thú với thành viên tron nhóm thực tính chất thực ti n đề tài Chún em cũn hy vọn nhận óp ý Q Thầy Cơ đề tài Kính chúc Q Thầy Cô n ười nhiều sức khỏe thành ! Tp.Hồ Chí Minh, ngày 18 tháng 07 năm 2011 Sinh viên thực 070502M Nguyễn Thị Thảo Thi 070473M Trần Thị Thụy My SV thực hiện: 070473M Trần Thị Thụy My 07050 M uy n Thị Th o Thi Trang 68 iếng Việt [1] Luận văn thạc sĩ tốn học Giải gần phương trình phi tuyến Trần Thị Hồn [2] Các phương pháp tìm nghiệm phương trình phi tuyến iếng nh [3] Elementary Numberical Analysis An Algorithmic Approach, Ed-de Boor [4] Muller’s Method www.physics.arizona.edu/~restrepo/475A/Notes/sourcea/node25.html rd Trang 69 ... cao SV thực hiện: 070473M Trần Thị Thụy My 070502M Nguyễn Thị Thảo Thi Trang Tìm nghiệm phương trình phi tuyến ứng dụng Để giải gần phương trình, ln giả thuy? ??t rằng: f ( x ) hàm xác định liên... số phương pháp, ta giả thuy? ??t f ( x ) khả vi đến cấp cần thi? ??t (có đạo hàm cấp đạo hàm cấp hai) Nếu f ( x ) = điểm x gọi nghiệm không điểm phương trình f ( x ) = Ta giả thuy? ??t nghiệm cô lập,... trình nghiên cứu học tập Để ứng dụng nhanh chóng, hiểu biết hiểu sâu thuật tốn kết hợp lý thuy? ??t thực hành cần thi? ??t Nói tóm lại, nội dung luận văn đưa phương pháp để tìm nghiệm gần phương trình phi