Bài tập lớn phương pháp tính hoàng hải hà
GVHD: HOÀNG HẢI HÀ NHÓM: 10 Đào Văn Tuấn Nguyễn Hải Đăng Bùi Hữu Đang Phạm Công Hậu Nguyễn Đình Đạt Phạm Văn Đạt Lê Minh Quang 1713773 1811912 1811828 1812143 1811869 1811892 1612761 Mục Lục: I. Cơ sở lý thuyết a. Ý tưởng ........................................................................................... 3 b. Ý nghĩa hình học ............................................................................ 3 II. Đề tài 2 1. Bài làm............................................................................................ 4 2. Giải thích code................................................................................ 6 3. Một số ví dụ .................................................................................... 7 2 I - Cơ sở lý thuyết a. Ý tưởng Biến đổi tương đương: f(x) = 0 x = g(x) Chọn giá trị ban đầu x0 ∈khoảng nghiệm (a,b), tính x1 = g(x0), x2= g(x1), … , xk = g(xk-1) Như vậy ta nhận được dãy {xn}, nếu dãy này hội tụ thì tồn tại giới hạn n->∞limxn =η (là nghiệm phương trình ) b. Ý nghĩa hình học Hoành độ giao điểm của 2 đồ thị y=x và y=g(x) là nghiệm phương trình Trường hợp hình a: hội tụ đến nghiệm µ Trường hợp hình a: không hội tụ đến nghiệm µ (phân ly nghiệm) Sau đây ta xét định lý về điều kiện hôi tụ đến nghiệm sau một quá trình lặp Định lý (điều kiện đủ) Giả sử hàm g(x) xác định, khả vi trên khoảng nghiệm [a,b] và mọi giá trị g(x) đều thuộc [a,b]. Khi đó nếu ∃ q > 0 sao cho |g’(x)|≤q∞limxn =η là nghiệm duy nhất trên (a, b) Lưu ý: - Định lý đúng nếu hàm g(x) xác định và khả vi trong (-∞,+∞), trong khi đó điều kiện định lý thoả mãn. - Trong trường hợp tổng quát, để nhận được xấp xỉ xn vớI độ chính xác ε cho trước, ta tiến hành phép lặp cho đến khi 2 xấp xỉ liên tiếp thoả mãn: |xn+1 - xn | ≤ II - Đề tài 2 1. Bài làm NỘI DỤNG: Giải phương trình f(x) = 0 bằng phương pháp lặp đơn. • Cho phương trình x = g(x) và khoảng cách ly nghiệm [a,b] • kiểm tra điều kiện hội tụ của phương pháp • Tìm nghiệm xn với n nhập từ bàn phím. • Đánh giá sai số xn theo hai công thức tiên nghiệm và hậu nghiệm. • Tìm chỉ số n nhỏ nhất để sai số hậu nghiệm nhỏ hơn e với e nhập từ bàn phím. CODE Matlab: function lapdon syms x; y= input('nhap vao phuong trinh f(x):'); g=input('Nhap phuong trinh x=g(x):'); a=input('Nhap khoang cach ly nghiem a='); b=input ('Nhap khoang cach ly nghiem b='); while 1 4 g_daoham=diff(g,x); if (abs(subs(g_daoham,a))>abs(subs(g_daoham,b))) q=abs(subs(g_daoham,a)); else q=abs(subs(g_daoham,b)); end if (qdelta n=n+1; tam=xn; xn=subs(g,xn); end disp('So lan lap nho nhat theo yeu cau de bai la'); disp(n); end 2. Giải thích code Kiểm tra điều kiện hội tù bằng cách tim Max(|g’(x)|) trong khoảng ly nghiệm [a,b]. Sử dụng hàm while để khi điều kiện hội tụ không thõa, ta yêu cầu nhập lại hàm x=g(x) khác. Dùng vòng lặp for để tìm nghiệm xn bằng công thức = ( ) Tìm SSHT và SSHN theo công thức. 6 Tìm số lần lặp nhỏ nhất để sai số nhỏ hơn e: dùng dòng lặp for cho đến khi lần lặp thứ n đạt được yêu cầu. 3. Một số ví dụ: Tính nghiệm gần đúng của phương trình ( ) = 5 − 20 + 3 bằng phương pháp lặp đơn tại lần lặp thứ 5 và đánh giá sai số. Khoảng cách ly nghiệm (0,1), = 0.75 Chạy hàm lapdon ta được: >> lapdon nhap vao phuong trinh f(x):5*x^3-20*x+3 Nhap phuong trinh x=g(x):5*x^3-19*x+3 Nhap khoang cach ly nghiem a=0 Nhap khoang cach ly nghiem b=1 Khong thoa dieu kien hoi tu Nhap phuong trinh x=g(x):(5*x^3+3)/20 He so co q= 3/4 Nhap n=5 Nhap x0=0.75 xn= 0.150858 Sai so theo cong thuc tien nghiem: |xn-x| lapdon nhap vao phuong trinh f(x):x^3-3*x^2-5 Nhap phuong trinh x=g(x):3+5/x^2 Nhap khoang cach ly nghiem a=3 Nhap khoang cach ly nghiem b=4 He so co q= 10/27 Nhap x0=3.5 Nhap e = 10^(-3) So lan lap nho nhat theo yeu cau de bai la 4 i ĐẠ I H Ọ C QU Ố C GIA TP.H Ồ CHÍ MINH TRƯ Ê NG ĐẠ I H Ọ C BÁCH KHOA KHOA ĐIỆ N – ĐIỆ N T Ử B Ộ MÔN ĐIỆ N T Ử ---o0o--- BÁO CÁO BÀI T Ậ P L Ớ N PHƯƠNG PHÁP TÍNH GVHD:Phùng Tr ọ ng Th ự c SVTH MSSV Email Lê Vi ệ t Hoàng 1812266 [email protected] Nguy ễ n Tu ấ n Ki ệ t 1812735 [email protected] Hoàng Trung Kiên 1812700 [email protected] Ph ạ m Ng ọ c Lâm 1812777 [email protected] Nguy ễ n Minh Khôi 1812681 [email protected] TP. H Ồ CHÍ MINH, THÁNG 5 NĂM 20 19 iii L Ờ I M Ở ĐẦ U Ngày nay khoa học ngày càng ph át triển, với sự phát triển này việc ứng dụng khoa học và s áng tạo trong khoa học ở trường học là rất thiết thực và quan trọng. Ch ính vì vậy, ngay từ năm đầu c ác giảng v iên Trư ê ng ĐH Bách Khoa Tp.HCM đ ã giúp cho các sinh viên ngành kỹ thuật làm quen với c ác ứng dụng lập trình trong đó như Matlab. MATLAB là một m ôi tr ườ ng tính toán số và lập tr ình cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ th ông tin, thực hiện thuật t oán , tạo các giao diện ngườ i dùng và liên kết với những chương tr ình máy tính viết tr ên nhiều ng ôn ngữ lập tr ình khác Với thư viện Toolbox, MATLAB cho ph ép mô ph ỏ ng tính toán , thực nghiệm nhiều m ô hình trong thực tế và kỹ thuật. Với hơn 40 năm h ình thành và phát triển, ngày nay với thiết kế sử dụng tương đối đơn giản và phổ th ô ng, MATLAB là cụng cụ t ính toán hữu hiệu để giải quyết c ác bài toán kỹ thuật. Vì vậy, đối với những bài toán ta có thể sử dụng c á c ứng dụng t ính toán của MATLAB để giải quyết theo c á ch đơn giản và dễ hiểu nhất, gi úp chúng ta làm quen và bổ sung th ê m kỹ năng sử dụng c á c chương tr ì nh, ứng dụng cho sinh viên. |