Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
916,28 KB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TOÁN −−− −−− NGUYỄN THỊ MÙI PHƯƠNG PHÁP SỐ GIẢI PHƯƠNG TRÌNH VÀ HỆ PHƯƠNG TRÌNH PHI TUYẾN Chuyên ngành: Cử nhân Tốn - Tin KHĨA LUẬN TỐT NGHIỆP Người hướng dẫn khoa học: ThS NGUYỄN HOÀNG THÀNH Đà Nẵng, 05/2013 Mục lục LỜI MỞ ĐẦU Một số khái niệm mở đầu 1.1 1.2 Các kiến thức giải tích hàm 1.1.1 Không gian metric 6 1.1.2 1.1.3 Sự hội tụ Tập hợp mở tập hợp đóng 1.1.4 1.1.5 Không gian đầy đủ Không gian compact 10 11 1.1.6 1.1.7 Ánh xạ liên tục Không gian định chuẩn 12 12 1.1.8 Nguyên lý ánh xạ co (Banach) Cách tiếp cận lời giải số 14 16 1.2.1 Nghiệm khoảng phân li nghiệm 17 1.2.2 1.2.3 Phương pháp giải tích Phương pháp hình học 20 21 1.2.4 Sai số tuyệt đối sai số tương đối 22 Giải số phương trình đại số siêu việt 2.1 23 Phương pháp lặp đơn 2.1.1 Nội dung phương pháp 23 23 2.1.2 2.1.3 Tính hội tụ Đánh giá sai số 24 25 2.1.4 2.1.5 Thuật toán Ví dụ 26 27 Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 2.2 2.3 Phương pháp dây cung 33 2.2.1 2.2.2 Nội dung phương pháp Tính hội tụ 33 36 2.2.3 2.2.4 Đánh giá sai số Thuật toán 36 38 2.2.5 Ví dụ Phương pháp tiếp tuyến 39 41 2.3.1 2.3.2 Nội dung phương pháp Tính hội tụ 41 44 2.3.3 Đánh giá sai số 44 2.3.4 2.3.5 Thuật toán Ví dụ 45 45 Giải số hệ phương trình phi tuyến 3.1 3.2 48 Phương pháp lặp đơn 50 3.1.1 3.1.2 Nội dung phương pháp Sự hội tụ đánh giá sai số 50 50 3.1.3 Ví dụ Phương pháp Newton 51 56 3.2.1 3.2.2 56 57 Nội dung phương pháp Ví dụ Phụ lục 65 Kết luận 75 Tài liệu tham khảo 76 Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi LỜI MỞ ĐẦU Các toàn thực tế (trong thiên văn, đo đạc ruộng đất, đường tàu buôn biển, ) dẫn đến việc cần phải giải phương trình hệ phương trình phi tuyến, nhiên phương trình hệ phương trình thường phức tạp, khó giải (đưa phương trình hệ phương trình bản) biến đổi đại số Hơn cơng thức nghiệm (của phương trình phi tuyến) thường phức tạp, cồng kềnh, nên cho dù có cơng thức nghiệm, việc khảo sát tính chất nghiệm qua cơng thức gặp phải nhiều khó khăn.Vì vậy, từ thời Archimedes, phương pháp giải gần xây dựng Với phát triển công cụ tin học phương pháp giải gần lại có ý nghĩa thực tế lớn Tuy nhiên, để việc thực tính tốn tốn học dễ dàng địi hỏi người sử dụng phải có hiểu biết lí thuyết tốn học Trong giải số phương trình hệ phương trình phi tuyến, thường cố gắng tìm phương pháp hữu hiệu bảo đảm hội tụ, tốc độ hội tụ nhanh tính xác cao Vì vậy, việc sử dụng thành thạo phương pháp giải số hỗ trợ đắc lực cho việc thực hành tính tốn Với mục đích tìm hiểu phương pháp số em chọn đề tài "Phương pháp số giải phương trình hệ phương trình phi tuyến" Bố cục khóa luận bao gồm chương phụ lục • Chương 1: Trình bày khái niệm giải tích hàm cách giải sơ phương trình phi tuyến • Chương 2: Trình bày phương pháp số giải phương trình đại số siêu việt gồm phương pháp lặp đơn, phương pháp dây cung, phương pháp Newton - Raphson Sử dụng phần mềm Maple vào giải số ví Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi dụ cụ thể minh họa hình vẽ • Chương 3: Trình bày phương pháp số giải hệ phương trình phi tuyến gồm phương pháp lặp đơn, phương pháp Newton - Raphson.Sử dụng phần mềm Maple vào giải số ví dụ cụ thể • Phụ lục : Trình bày đoạn code maple để giải số phương trình hệ phương trình phi tuyến Trong thời đại tin học việc sử dụng phương pháp tính trở nên phổ biến nhằm tăng tốc độ tính tốn cho độ xác cao Để minh họa kiểm chứng lí thuyết, em sử dụng phần mềm Maple để lập trình tính tốn tốn cụ thể Trước trình bày nội dung khóa luận, em xin bày tỏ lịng biết ơn sâu sắc tới thầy Nguyễn Hoàng Thành, người giới thiệu đề tài, cung cấp tài liệu tận tình hướng dẫn em suốt trình học tập thực khóa luận Em xin chân thành cảm ơn thầy Tơn Thất tú hướng dẫn nhiệt tình cách lập trình Mapple ứng dụng giải số phương trình hệ phương trình phi tuyến Đồng thời em xin bày tỏ lịng biết ơn chân thành tới tồn thể thầy giáo khoa Tốn, trường Đại học Sư phạm, Đại học Đà Nẵng cung cấp cho em kiến thức tốn học bổ ích suốt trình học tập trường Nhân dịp em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè ln bên em, cổ vũ, động viên, giúp đỡ em suốt trình học tập thực khóa luận tốt nghiệp Do thời gian thực khóa luận khơng nhiều, kiến thức cịn hạn chế nên làm khóa luận khơng tránh khỏi sai sót Em mong nhận góp ý ý kiến phản biện quý thầy cô bạn Xin chân thành cảm ơn Đà nẵng, ngày 25 tháng 05 năm 2013 Nguyễn Thị Mùi Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi Chương Một số khái niệm mở đầu 1.1 1.1.1 Các kiến thức giải tích hàm Khơng gian metric Định nghĩa 1.1 Cho X tập hợp tùy ý (X = ∅) Một khoảng cách hay metric X ánh xạ: d:X ×X →R (x, y) → d(x, y) thỏa mãn điều kiện sau: d(x, y) ≥ 0; ∀x, y ∈ X d(x, y) = ↔ x = y d(x, y) = d(x, y); ∀x, y ∈ X d(x, y) ≤ d(x, z) + d(z, y); ∀x, y, z ∈ X Khi (X, d) gọi không gian metric Định lý 1.1 (Bất đẳng thức tứ giác) Nếu x, y, u, v bốn điểm tùy ý khơng gian metric (X, d), ta có |d(x, y) − d(u.v)| ≤ d(x, u) + d(y, v) Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi Chứng minh Vì d(x, y) ≤ d(x, y) + d(u, v) + d(v, y) Nên d(x, y) − d(u, v) ≤ d(x, u) + d(v, y)(1) Và d(u, v) ≤ d(u, x) + d(x, y) + d(y, v) ⇒ d(u, v) − d(x, y) ≤ d(u, x) + d(y, v)(2) Các vế phải (1) (2) nhau, từ suy bất đẳng thức cần chứng minh Định lý 1.2 Cho (X,d) không gian metric, A ⊂ X, A = ∅ với ∀x, y ∈ X , ta có: |d(x, A) − d(y, A)| ≤ d(x, y) Chứng minh Lấy z tùy ý thuộc A ta có: d(x, z) ≤ d(x, y) + d(y, z) mà d(x, z) ≥ d(x, A); ∀z ∈ A ⇒ d(x, A) ≤ d(x, y) + d(y, z); ∀z ∈ A vậy: d(x, A) ≤ d(x, y) + d(y, A) Thay đổi vai trò x y, ta kết cần chứng minh 1.1.2 Sự hội tụ Định nghĩa 1.2 Dãy { un } không gian metric(X,d) gọi hội tụ đến điểm a ∈ X ∀ > 0, ∃n0 ∈ N cho ∀n ≥ n0 : d(un , a) < Ví dụ 1.1.1 Trong R ta có: Dãy { un } gọi có giới hạn a n → ∞ ∀ > 0, ∃n0 ∈ N, ∀n ≥ n0 : |un − a| < Định lý 1.3 Nếu xn → a yn → b lim d(xn , yn ) = d(a, b) x→∞ Chứng minh Theo bất đẳng thức tứ giác ta có |d(xn , yn ) − d(a, b)| ≤ d(xn , a) + d(yn , b) n → ∞ vế phải dần đến Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 1.1.3 Tập hợp mở tập hợp đóng Cho (X,d) khơng gian metric A ⊂ X đó: Định nghĩa 1.3 B(x0 , r) = {x ∈ X/d(x, x0 ) < r} gọi hình cầu mở Định nghĩa 1.4 B (x0 , r) = {x ∈ X/d(x, x0 ) ≤ r} gọi hình cầu đóng Định nghĩa 1.5 • B(x0 , r) gọi r - lân cận điểm x0 • Mọi tập X bao hàm r - lân cận x0 gọi lân cận x0 Định nghĩa 1.6 x gọi điểm tập hợp A ⊂ X có lân cận x nằm tập hợp A Định nghĩa 1.7 x gọi điểm biên tập hợp A ⊂ X lân cận x có chứa điểm A điểm không thuộc tập hợp A Định nghĩa 1.8 A ⊂ X gọi tập hợp mở điểm thuộc điểm Định nghĩa 1.9 A ⊂ X gọi tập hợp đóng điểm khơng thuộc điểm phần bù Ví dụ 1.3: (a,b) tập mở [a, b] tập đóng Định lý 1.4 Hình cầu mở B(a, r) tập mở Chứng minh Giả sử x ∈ B(a, r) d(a, x) < r Ta lấy r cho < r < r − d(a, x) Khi B(x, r ) ⊂ B(a, r) y ⊂ B(x, r ) d(x, y) < r Do đó: d(a, y) ≤ d(a, x) + d(x, y) < r ⇒ y ∈ B(a, r) Vậy điểm x hình cầu B(a,r) điểm hình cầu B(a,r) mở Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi Định lý 1.5 Trong khơng gian metric X: • Hình cầu đóng B (a, r) tập đóng • Tập hợp điểm a đóng Chứng minh a Đặt G = X \ B (a, r) Giả sử x ∈ G Vì X ∈ B(a, r) nên d(a, x) > r Ta chọn r’ cho < r < d(a, x) − r , chứng tỏ B(x , r ) ⊂ G (từ suy G mở B’(a,r) đóng) Qủa vậy, giả sử y ⊂ B(x, r ) tức d(x, y) < r Vì d(a, x) ≤ d(a, y) + d(x, y) < d(a, y) + d(a, x) − r Nên d(a, y) > r , y ∈ B (x, r) , tức y ∈ G ∞ b Rõ ràng a = n=1 B (a, n1 ) hình cầu B (a, n1 ) đóng ta có giao tập hợp đóng tập hợp đóng nên ta suy a tập đóng Định lý 1.6 Trong khơng gian metric X, điều kiện cần đủ để tập hợp F ⊂ X đóng dãy (xn ) gồm điểm xn ∈ F hội tụ đến a, a∈F Chứng minh Đặt G = X \ F Điều kiện cần : Giả sử F đóng a = lim xn với xn ∈ F (n = 1, 2, ) n→∞ Lấy b ∈ F tức b ∈ G Mà G mở, nên tồn hình cầu B(b, r) ⊂ G Vì xn ∈ G nên xn ∈ B(b, r) d(b, xn ) ≥ r(n = 1, 2, ) Điều chứng tỏ điểm b ∈ F giới hạn dãy (xn ) Vì a giới hạn dãy (xn ), nên a ∈ F Điều kiện đủ: Giả sử tập hợp F có tính chất nêu định lý Ta chứng minh tập hợp G mở Giả sử trái lại G khơng mở Khi tồn điểm a ∈ G điểm G : hình cầu B(a, n1 )(n = 1, 2, ) Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 10 không chứa trọn G, nói cách khác tồn điểm xn ∈ B(a, n1 ) với xn ∈ F (n = 1, 2, ) Vì d(a, (xn )) < n1 , nên xn → a , mà xn ∈ F , tức a ∈ G Mâu thuẫn chứng tỏ G mở F đóng Định lý 1.7 Giả sử F tập hợp đóng khơng gian metric X Khi x ∈ F ⇔ d(x, F ) = Chứng minh x ∈ F ⊂ X rõ ràng d(x, F ) = Ngược lại, d(x, F ) = , từ định nghĩa d(x, F ) = inf d(x, y) ta suy x∈F với số nguyên dương n, tồn điểm yn ∈ F cho: d(x, (yn )) < n1 (n = 1, 2, ) Như ta dãy (yn ) điểm thuộc F hội tụ đến x Vì F đóng nên theo định lý 1.6, ta thấy x ∈ F 1.1.4 Không gian đầy đủ Định nghĩa 1.10 Dãy {xn } không gian metric X gọi dãy Cauchy ∀ > 0, ∃n0 ∈ N, ∀n, m ≥ n0 : d(xn , xm ) < Định nghĩa 1.11 Một không gian metric (X,d) dãy Cauchy hội tụ tới phần tử X gọi không gian đầy đủ Định lý 1.8 Giả sử X không gian metric đầy đủ, Y ⊂ X, Y = ∅ Điều kiện cần đủ để Y khơng gian đầy đủ Y đóng X Chứng minh Điều kiện cần: Giả sử không gian Y đầy đủ x0 ∈ Y Khi tồn dãy {xn } Y hội tụ đến x0 Dãy {xn } dãy Cauchy Y, mà Y đầy đủ, nên có giới hạn thuộc Y Giới hạn phải x0 , x0 ∈ Y Thành thử Y chứa điểm dính nó, Y đóng Điều kiện đủ: Giả sử Y đóng {xn } dãy Cauchy Y Dĩ nhiên {xn } dãy Cauchy X, mà X đầy đủ, tồn giới hạn x0 dãy {xn } Vì xn ∈ Y với n, nên x0 ∈ Y = Y Thành thử dãy Cauchy Y có giới hạn thuộc Y Vậy Y đầy đủ Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 63 ⇒ z2 = (1.386482522; 0.5007329594) Tiếp tục trình xấp xỉ ta có: k xk yk 1.869220157 0.5369635118 1.386482522 0.5007329594 1.250342889 0.5742700986 1.238889295 0.5857210084 1.238821888 0.5858569141 Ví dụ 3.2.6 Cho hệ phương trình: cos(x2 + 0, 4y) + x2 + y − 1, = y2 1, 5x − −1=0 0, 36 Bằng phương pháp Newton tìm nghiệm xấp xỉ phương trình biết nghiệm xấp xỉ ban đầu là: z0 = (1; 12 ) Giải: Từ cơng thức (3.21), ta có: x k+1 = (h1 )k + xk y = (h ) + y k+1 k k Và [−2x sin(x2k + 0, 4yk ) + 2xk ](h1 )k − [0, sin(x2k + 0, 4yk ) + 2yk ](h2 )k = − cos(x2k + y2 3xk (h1 )k − 5, 5555556yk (h2 )k = −1, 5x + +1 0, 36 Nên 0.135921828(h ) + 0.6271843656(h ) = −0.0123577545 3(h ) − 2.777777778(h ) = 0.1944444445 Khóa Luận Tốt Nghiệp (h ) = 0.0387875 ⇔ (h ) = −0.02810 SVTH: Nguyễn Thị Mùi 64 ⇒ z1 = (1.038787520; 0.4718905219) Tương tự ta có: 0.094618201(h ) + 0.5619980899(h ) = −0.0123577545 1 3.116362560(h ) − 2.621614011(h ) = 0.1944444445 1 (h ) = −0.00015 1 ⇔ (h ) = −0.00016 ⇒ z2 = (1.038629233; 0.4717259621) Tiếp tục q trình xấp xỉ ta có: k xk yk 1.038787520 0.4718905219 1.038629233 0.4717259621 1.038629238 0.4717259534 1.038629237 0.4717259523 1.038629238 0.4717259529 Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 65 Phụ lục Phương pháp số giải phương trình đại số siêu việt Chương trình giải Maple: Code: Phương pháp lặp đơn Code: Ví dụ 2.1.1 > restart; pt:=x^3 + x - 1000: print(‘Giải phương trình sau phương pháp lặp:‘); pt=0; plot(pt,x = 9.0 10.0, gridlines=true); # Đồ thị minh họa x[0]:=9.0: epsilon:=0.00000001: F:=unapply((1000 - x)^(1/3),x): pt=0; print(‘Phương trình viết lại:‘); x=F(x); plots[display](plot(F(x),x=9.0 10.0,legend="Do thi y=F(x)"), plot(x,x=9.0 10.0,color=blue,legend="Do thi y=x")); q:=maximize(diff(F(t),t),t=9.0 10.0): print(‘Max{|F’(x)|,[9,10]}=q‘=abs(evalf(q))); i:=1: x[1]:=F(x[0]); while abs(x[i]-x[i-1])> epsilon x[i+1]:=F(x[i]); i:=i+1; m :=q/(1-q )* abs(x[i]-x[i-1]); end ; Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 66 print( ‘Số bước lặp là: ‘|| i); print(cat(‘Nghiệm xấp xỉ phương trình: ‘,convert(x[i],string))); print(cat(‘Sai số cho phép: ‘,convert(epsilon,string))); print(‘Thử lại vào phương trình ban đầu:‘); Eval(pt,x=x[i])=evalf(subs(x=x[i],pt)); ds:=[seq([x[k],0],k=0 i)]: pl:=[seq(plots[pointplot](ds[1 k]),k=1 nops(ds))]: plots[display]([seq(plots[display](plot(pt,x=9.0 10.0),pl[k]), k=1 nops(pl))],insequence=true); # Đồ thị minh họa Code:Ví dụ 2.1.2 > restart; pt:=x^7 - x^3 +2*x - 3: print(‘Giải phương trình sau phương pháp lặp:‘); pt=0; plot(pt,x=1.0 1.5 ,gridlines=true); # Đồ thị minh họa x[0]:=1.25: epsilon:=0.000000001: F:=unapply((x^3 - 2*x +3)^(1/7),x): pt=0: print(‘Phương trình viết lại:‘); x=F(x); plots[display](plot(F(x),x=1.0 1.5,legend="Do thi y=F(x)"), plot(x,x=1.0 1.5,color=blue,legend="Do thi y=x")); q:=maximize(diff(F(t),t),t=1 1.5): print(‘Max{|F’(x)|,[1,1.5]}=q‘=abs(evalf(q))); i:=1; x[1]:=F(x[0]); while q/(1-q)*abs(x[i]-x[i-1])>epsilon x[i+1]:=F(x[i]); i:=i+1; print(‘m‘=q/(1-q)*abs(x[i]-x[i-1])); end do: print( ‘Số bước lặp là: ‘|| i); Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 67 print(cat(‘Nghiệm xấp xỉ phương trình: ‘,convert(x[i],string))); print(cat(‘Sai số cho phép: ‘,convert(epsilon,string))); print(‘Thử lại vào phương trình ban đầu:‘); Eval(pt,x=x[i])=evalf(subs(x=x[i],pt)); ds:=[seq([x[k],0],k=0 i)]: pl:=[seq(plots[pointplot](ds[1 k]),k=1 nops(ds))]: plots[display]([seq(plots[display](plot(pt,x=1.0 1.5),pl[k]), k=1 nops(pl))],insequence=true); # Đồ thị minh họa Code:Ví dụ 2.1.3 > restart; pt:=3*x - cos(x)-1/3: print(‘Giải phương trình sau phương pháp lặp:‘); pt=0; plot(pt,x=0.0 1.0 ,gridlines=true); # Đồ thị minh họa x[0]:=0.5: epsilon:=0.000000001: F:=unapply(((cos(x)+1/3)/3),x): pt=0: print(‘Phương trình viết lại:‘); x=F(x); plots[display](plot(F(x),x=0.0 1.0,legend="Do thi y=F(x)"), plot(x,x=0.0 1.0,color=blue,legend="Do thi y=x")); q:=maximize(diff(F(t),t),t=0.0 1.0): print(‘Max{|F’(x)|,[0.0,1.0]}=q‘=abs(evalf(q))); i:=1; x[1]:=F(x[0]); while abs(x[i]-x[i-1])>epsilon x[i+1]:=F(x[i]); i:=i+1; end do; print( ‘Số bước lặp là: ‘|| i); print(cat(‘Nghiệm xấp xỉ phương trình: ‘,convert(x[i],string))); print(cat(‘Sai số cho phép: ‘,convert(epsilon,string))); Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 68 print(‘Thử lại vào phương trình ban đầu:‘); Eval((3*x - cos(x)-1/3),x=x[i])=evalf(subs(x=x[i],3*x - cos(x)-1/3)); ds:=[seq([x[k],0],k=0 i)]: pl:=[seq(plots[pointplot](ds[1 k]),k=1 nops(ds))]: plots[display]([seq(plots[display](plot(pt,x=0.0 1.0),pl[k]), k=1 nops(pl))],insequence=true); # Đồ thị minh họa Code: Phương pháp dây cung Code: Ví dụ 2.2.1 > restart; pt:=x^2 - 10*ln(x) - : a:=1/2: b:=3/2: F:=unapply(pt,x): print(‘Giải phương trình sau: ‘);pt=0; plots[display](plot(pt,x=a b,gridlines=true,color=red, legend="đồ thị hàm số y = x^2 - 10*ln(x) - "),plot([[a,F(a)],[b,F(b)]] # Đồ thị minh họa x[0]:=a: epsilon:=0.0001: FL:=unapply(t-(b-t)*F(t)/(F(b)-F(t)),t); x[1]:=evalf(FL(x[0])); i:=1; while is(abs(x[i]-x[i-1])>epsilon) x[i+1]:=evalf(FL(x[i])); i:=i+1; end: print(cat(‘Số bước lặp: ‘,i)); print(cat(‘Nghiệm xấp xỉ tìm được: ‘,convert(x[i],string))); print(cat(‘Sai số: ‘,convert(epsilon,string))); print(‘Thử lại vào phương trình ban đầu‘); Eval(F(x),{x=x[i]})=eval(F(x),{x=x[i]}); for k from to i-1 p[k]:=plot([[x[k],F(x[k])],[b,F(b)]],color=blue); Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 69 q[k]:=plot([[x[k+1],0],[x[k+1],F(x[k+1])]]); end do: p[i]:=plots[pointplot]([[x[i],0]],thickness=3): ds:=[]: for k from to i-1 ds:=[op(ds),p[k],q[k]]; end do: ds:=[plot(pt,x=a b),op(ds),p[i]]: plots[display]([seq(plots[display](ds[1 k]), k=1 nops(ds))],insequence=true,view=[0 2,-3 5]); # Đồ thị minh họa Code: Ví dụ 2.2.2 > restart; pt:=x^5+2*x^2-1: a:=0: b:=1: F:=unapply(pt,x): print(‘Giải phương trình sau: ‘);pt=0; plots[display](plot(pt,x=a b,gridlines=true,color=red, legend="đồ thị hàm số y = x^5+2*x^2-1"),plot([[a,F(a)],[b,F(b)]],color=b # Đồ thị minh họa x[0]:=a: epsilon:=0.0001: FL:=unapply(t-(b-t)*F(t)/(F(b)-F(t)),t); x[1]:=evalf(FL(x[0])): i:=1: while is(abs(x[i]-x[i-1])>epsilon) x[i+1]:=evalf(FL(x[i])); i:=i+1; end: print(cat(‘Số bước lặp: ‘,i)); print(cat(‘Nghiệm xấp xỉ tìm được: ‘,convert(x[i],string))); print(cat(‘Sai số: ‘,convert(epsilon,string))); print(‘Thử lại vào phương trình ban đầu‘); Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 70 Eval(F(x),{x=x[i]})=eval(F(x),{x=x[i]}); for k from to i-1 p[k]:=plot([[x[k],F(x[k])],[b,F(b)]],color=blue); q[k]:=plot([[x[k+1],0],[x[k+1],F(x[k+1])]]); end do: p[i]:=plots[pointplot]([[x[i],0]],thickness=3): ds:=[]: for k from to i-1 ds:=[op(ds),p[k],q[k]]; end do: ds:=[plot(pt,x=a b),op(ds),p[i]]: plots[display]([seq(plots[display](ds[1 k]),k=1 nops(ds))], insequence=true,view=[0 1,-1 2]); # Đồ thị minh họa Code: Phương pháp tiếp tuyến Code: Ví dụ 2.3.1 > restart; pt:=x^2 - 10*ln(x) - 2: print(‘Giải phương trình sau phương pháp Newton:‘); pt=0; plot(pt,x=0.5 1.0,gridlines=true); f:=unapply(pt,x); fd:=unapply(diff(pt,x),x); epsilon:=10^(-8); x[0]:=0.5; x[1]:=x[0]-f(x[0])/fd(x[0]); i:=1; while abs(x[i]-x[i-1])>epsilon i:=i+1; x[i]:=x[i-1]-f(x[i-1])/fd(x[i-1]); end; underlineCode: Phương pháp tiếp tuyến Code: Ví dụ 2.3.2 Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 71 > restart; restart; pt:=x^4 - 3*x^2+75*x - 10000: print(‘Giải phương trình sau phương pháp Newton:‘); pt=0; plot(pt,x=-11.0 -10.0,gridlines=true); f:=unapply(pt,x); fd:=unapply(diff(pt,x),x); epsilon:=10^(-8); x[0]:=-11.0; x[1]:=x[0]-f(x[0])/fd(x[0]); i:=1; while abs(x[i]-x[i-1])>epsilon i:=i+1; x[i]:=x[i-1]-f(x[i-1])/fd(x[i-1]); end; Phương pháp số giải hệ phương trình phi tuyến Chương trình giải Maple: Code: Phương pháp lặp đơn Code: Ví dụ 3.1.1 > restart; with(LinearAlgebra): he:=[x^3 -2*x - y = 0,x+2*y-y^3 = 0]: print(‘Giải hệ phương trình sau phương pháp lặp đơn:‘); seq(print(he[i]),i=1 2); F:=Vector([(2*x+y)^(1/3),(x+2*y)^(1/3)]); X:=[x,y]; sb:=nops(X); J:=VectorCalculus[Jacobian](F,X); var[0]:=Vector([1.0,1.0]); var[1]:=subs({x=var[0][1],y=var[0][2]},F); epsilon:=0.00001; i:=1: t:=var[i]-var[i-1]; Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 72 while max(abs(t[1]),abs(t[2]))>epsilon i:=i+1; var[i]:=subs({x=var[i-1][1],y=var[i-1][2]},F); t:=var[i]-var[i-1]: end; Code: Ví dụ 3.1.2 > restart; with(LinearAlgebra): he:=[x-1/3 * cos(y) - 1/2= 0,y- 1/5 * sin(x) - 1/3= 0]: print(‘Giải hệ phương trình sau phương pháp lặp đơn:‘); seq(print(he[i]),i=1 2); F:=Vector([1/3 * cos(y) + 1/2,1/5 * sin(x) + 1/3]); X:=[x,y]; sb:=nops(X); J:=VectorCalculus[Jacobian](F,X); var[0]:=Vector([0.16,0.1]); var[1]:=subs({x=var[0][1],y=var[0][2]},F); epsilon:=0.000001; i:=1: t:=var[i]-var[i-1]; while max(abs(t[1]),abs(t[2]))>epsilon i:=i+1; var[i]:=subs({x=var[i-1][1],y=var[i-1][2]},F); t:=var[i]-var[i-1]: end; Code: Ví dụ 3.1.3 > restart; with(LinearAlgebra): he:=[x^3 + y^3 - 6*x + = 0,x^2 - y^3 - 6*y + = 0]: print(‘Giải hệ phương trình sau phương pháp lặp đơn:‘); seq(print(he[i]),i=1 2); F:=Vector([(x^3 + y^3) /6 + 1/2,(x^3 - y^3)/6 +1/3]); Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 73 X:=[x,y]; sb:=nops(X); J:=VectorCalculus[Jacobian](F,X); var[0]:=Vector([0.5,0.5]); var[1]:=subs({x=var[0][1],y=var[0][2]},F); epsilon:=0.00001; i:=1: t:=var[i]-var[i-1]; while max(abs(t[1]),abs(t[2]))>epsilon i:=i+1; var[i]:=subs({x=var[i-1][1],y=var[i-1][2]},F); t:=var[i]-var[i-1]: end; Code: Phương pháp Newton Code: Ví dụ 3.2.1 > restart; with(LinearAlgebra): F:=Vector([x^2+x*y-10,y+3*x*y^2-57]); X:=[x,y]; sb:=nops(X); J:=VectorCalculus[Jacobian](F,X); var[0]:=[1.0,4.0]; N:=5; for i from to N JJ(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},J); b(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},-F); h(i):=MatrixInverse(JJ(i)).b(i); var[i]:=var[i-1]+convert(h(i),list); end; Code: Ví dụ 3.2.2 > restart; with(LinearAlgebra): Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 74 F:=Vector([x^3-y^2+3,x*y^3-y-6]); X:=[x,y]; sb:=nops(X); J:=VectorCalculus[Jacobian](F,X); var[0]:=[1.0,1.0]; N:=5; for i from to N JJ(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},J); b(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},-F); h(i):=MatrixInverse(JJ(i)).b(i); var[i]:=var[i-1]+convert(h(i),list); end; Code: Ví dụ 3.2.3 > restart; with(LinearAlgebra): F:=Vector([x^2 - 2*y*z + y - 1,y^2 + 3*z*x - z - 2,z^2 - 4*x*y + x - 3]) X:=[x,y,z]; sb:=nops(X); J:=VectorCalculus[Jacobian](F,X); var[0]:=[0.0,0.0,0.0]; N:=5; for i from to N JJ(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},J); b(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},-F); h(i):=MatrixInverse(JJ(i)).b(i); var[i]:=var[i-1]+convert(h(i),list); end; Code ví dụ lại phương pháp tương tự code trình bày Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 75 Kết luận Trong khóa luận em hệ thống lại số khái niệm phương pháp số giải phương trình hệ phương trình phi tuyến Nghiên cứu phương pháp giải số phương trình hệ phương trình phi tuyến, đưa nghiệm gần có sai số nhỏ so với nghiệm xác Đặc biệt có sử dụng Phần mềm Maple làm cơng cụ giải nhanh xác tốn giải phương trình hệ phương trình phi tuyến phức tạp khơng thể tìm nghiệm dạng giải tích, minh họa đồ thị cách trực quan sinh động Trong trình nghiên cứu em nhận thấy phương pháp số giải phương tình hệ phương tình phi tuyến cho kết nghiệm xấp xỉ với nghiệm với sai số khơng đáng kể Điều phụ thuộc vào việc ta chọn nghiệm xấp xỉ ban đầu x0 phải gần với nghiệm tốc độ hội tụ nhanh Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 76 Tài liệu tham khảo [1] Phạm Kỳ Anh, Giải tích số, Nhà xuất đại học quốc gia Hà Nội, 2000 [2] A.Granas - J.Dugundji, Fixed point theory, Springer, 2003 [3] Trần Quốc Chiến, Giáo trình phần mền tốn học (Maple), Tài liệu lưu hành nội bộ, Đại học Đà Nẵng, 2008 [4] Nguyễn Minh Chương(Chủ biên), Nguyễn Văn Khải, Khuất Văn Ninh, Nguyễn Văn Tuấn, Nguyễn Tường, Giải tích số, NXB Giáo Dục, 2009 [5] Tạ Văn Đĩnh, Phương pháp tính, NXB Giáo Dục, 2001 [6] Nguyễn Hữu Điển, Latex với gói lệnh phần mềm công cụ , NXB ĐHQG Hà Nội, 2008 [7] Phạm Văn Hạp, Lê Đình Thịnh, Phương pháp tính thuật tốn, NXB Giáo Dục, 2000 [8] Phạm Văn Hạp, Các phương pháp giải gần đúng, NXB Đại học Trung học chuyên nghiệp, 1981 [9] Hồng Xn Huấn, Giáo trình phương pháp tính, NXB ĐHQG Hà Nội, 2004 Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi 77 [10] Joe D Hoffman, Numerical methods for engineers and scientists, Marcel Dekker, New York, 2001 [11] L Collatz, Functionnal analysis and numerical mathematics, Academic press, New York and London, 1966 [12] Stoer J And BulirschR, Introduction to numerical analysis Springer Verlag 1993 [13] B V Ramana, Higher engineering mathematics, The McGraw-Hill Companies,2006 [14] Lê Hồng Trí, Bài giảng giải tích hàm nâng cao, Tài liệu lưu hành nội bộ, Đại học Đà Nẵng, 2003 [15] Hoàng Tụy, Giải tích đại, NXB Giáo Dục, 1978 Khóa Luận Tốt Nghiệp SVTH: Nguyễn Thị Mùi ... phải giải phương trình hệ phương trình phi tuyến, nhiên phương trình hệ phương trình thường phức tạp, khó giải (đưa phương trình hệ phương trình bản) biến đổi đại số Hơn cơng thức nghiệm (của phương. .. phương pháp số em chọn đề tài "Phương pháp số giải phương trình hệ phương trình phi tuyến" Bố cục khóa luận bao gồm chương phụ lục • Chương 1: Trình bày khái niệm giải tích hàm cách giải sơ phương. .. phương trình phi tuyến • Chương 2: Trình bày phương pháp số giải phương trình đại số siêu việt gồm phương pháp lặp đơn, phương pháp dây cung, phương pháp Newton - Raphson Sử dụng phần mềm Maple vào