•Phương Pháp Tính Bộ Môn Toán Ứng Dụng GIÔÙI THIEÄU: KHAÙI NIEÄM VEÀ SAI SOÁ •CHÖÔNG 1: GIAÛI PHÖÔNG TRÌNH PHI TUYEÁN •CHÖÔNG 2: GIAÛI HEÄ PHÖÔNG TRÌNH TUYEÁN TÍNH •CHÖÔNG 3: NOÄI SUY VAØ BÌNH PHÖÔNG CÖÏC TIEÅU •CHÖÔNG 4: TÍNH XAÁP XÆ ÑAÏO HAØM TÍCH PHAÂN •CHÖÔNG 5: GIAÛI XAÁP XÆ PHÖÔNG TRÌNH VI PHAÂN CHÖÔNG 6: GIAÛI XAÁP XÆ PHÖÔNG TRÌNH ÑAÏO HAØM RIEÂNG GIÔÙI THIEÄU: KHAÙ
BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK - PHƯƠNG PHÁP TÍNH • MSMH: 006023 – SO TN CHặ: ã GIANG VIEN: TS NGUYEN QUOC LÂN • (07/2005) GIỚI THIỆU MÔN HỌC MUÏC ĐÍCH: Phương pháp giải xấp xỉ toán kỹ thuật VD: Giải xấp xỉ pt x – cosx = Máy tính bỏ túi: 0.739 (rad) Nắm vững giải thuật (với máy tính bỏ túi) Lập trình máy cho toán kích thước lớn Giáo trình Phương pháp tính: Lê Thái Thanh, Lê Ngọc Lăng, Nguyễn Quốc Lân Giữa học kỳ: Trắc nghiệm (20% số điểm) Cuối học kỳ: Tự luận theo mã số sinh viên (đề mở) – 80% NỘI DUNG - •GIỚI THIỆU: KHÁI NIỆM VỀ SAI SỐ •CHƯƠNG 1: GIẢI PHƯƠNG TRÌNH PHI TUYẾN •CHƯƠNG 2: GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH •CHƯƠNG 3: NỘI SUY VÀ BÌNH PHƯƠNG CỰC TIỂU •CHƯƠNG 4: TÍNH XẤP Xặ ẹAẽO HAỉM & TCH PHAN ãCHệễNG 5: GIAI XAP XỈ PHƯƠNG TRÌNH VI PHÂN CHƯƠNG 6: GIẢI XẤP XỈ PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG GIỚI THIỆU: KHÁI NIỆM VỀ SAI SOÁ - Baøi toán: Khẩu đại bác nghiêng góc = /4 so với mặt đất, bắn viên đạn khối lượng m, vận tốc đầu v0 = 900m/s Quỹ đạo? xt v0 cos t •Giải phương trình vi phân: y t gt v0 sin t •Quỹ đạo lý thuyết: 20250m 900m / s 81000m PHÂN LOẠI SAI SOÁ nguyên nhân nhóm sai số (2 xem khắc phục) 1/ SAI SỐ GIẢ THUYẾT: Chấp nhận xây dựng mô hình 2/ SAI SỐ SỐ LIỆU BAN ĐẦU: Các số vật lý, đo lường 3/ SAI SỐ PHƯƠNG PHÁP : phương pháp giải xấp xỉ để sai số (giới hạn yêu cầu) khắc phục (tuỳ cách giải) 4/ SAI SỐ TÍNH TOÁN: chủ yếu làm tròn số tính toán lấy tối đa chữ số lẻ đạt mức độ tốt b VD: Tính độ dài đườn g f ' x dx cong y = f(x), a x b a AB BC CD a b SAI SỐ TUYỆT ĐỐI & SAI SỐ TƯƠNG ĐỐI - A: giá trị xác; a: giá trị gần Viết: A a Sai số tuyệt đối: a = A – a (phi thực tế: A không tính được!) Thực tế: Tìm số dương a, bé tốt thoả A – a a A – a a a – a A a + a Vieát : A = a a VD: Đã biết nghiệm gần phương trình x – cosx = a = 0.739 Hỏi sai số nghiệm này? VD: Không dùng máy tính bỏ túi, tính xấp xỉ giá trị Chỉ sai số tuyệt đối phép tính gần Sai số tương đối a: a a a 10 QUY TRÒN SỐ & SAI SỐ QUY TRÒN - Viết số dạng thập phân: a 110m 210m1 , i VD: 12,3456 1101 100 101 102 103 Quy troøn a a’ Sai số qui tròn a = a – a’ đơn vị chữ số đầu phần vứt đi, nửa đơn vị chữ số cuối phần giữ lại VD: Quy tròn a = 12,3456 đến chữ số lẻ thứ nhì a’ = 12,35 Sai số qui tròn: a = 0.0044 0.005 5.103 10 2 A a Làm tròn a a’ Sau qui tròn, sai số hay ? KẾT LUẬN: Lợi tính toán (gọn hơn), thiệt sai số CHỮ SỐ CÓ NGHĨA - Thông báo: Tiền thưởng (bắt Bin Laden?) số chữ số Số tiền thưởng: 1000,000? 0000001? 1000000? ĐN: Chữ số có nghóa chữ số tính từ chữ số khác từ bên trái tính sang VD: 10,20003 c/s có nghóa 0,010203 c/s có nghóa 10,20300 c/s có nghóa Chú ý: Làm tròn máy tính Làm tròn phần có nghóa VD: Làm tròn máy tính đến chữ số thứ 3: 0.0012567 CHỮ SỐ ĐÁNG TIN - ĐN: Chữ số đáng tin số gần đún g a với sai số a vị trí m thứ m (và bên trái m) với a 10 VD: Cách viết gần đún g sau cho chữ số đáng tin: A 12,345 0,0044 a 0,0044 10 m m 2 chữ số đáng tin Quy taéc: m log2 a VD: a = 0.0044 m = ??? VD: a = 0.0054 m = ??? BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK - PHƯƠNG PHÁP TÍNH – HK2 0506 CHƯƠNG GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH PHI TUYẾN f(x) = • TS NGUYỄN QUỐC LÂN (02/2006) CÔNG THỨC LẮP GHÉP - n mốc xk (a, b) – ứng n giá trị yk chưa biết Ma trận cấp n Ký hiệu pk = p(xk) … yk = y(xk), k n y= [y1, … yn]T: Ay = b h h 2 h q1 p1 0 h r1 1 p1 h h h r2 p 2 h q p 2 h r3 b A h pn1 h rn 1 h h pn h qn h rn 1 pn LẬP BẢNG LẮP GHÉP - y" p( x) y ' q( x) y r ( x), a x b * BT biên tuyến tính y a , y b Chia [a, b] thành đoạn nhỏ độ dài h n điểm chia xk (không kể đầu) – ứng với yk chưa biết n ẩn số yk Lập bảng cột xk pk = p(xk), qk = q(xk), rk = r(xk) akk (đ/chéo chính), ak,k+1 (chéo trên), ak-1,k (dưới), bk Nghiệm yk Đ/chéo akk: k = n; ak,k+1: k = (n – 1), ak-1,k: k = n i xk pk qk rk akk ak,k+1 ak-1,k bk yk VÍ DỤ - Giải toán biên cấp sau phương pháp sai phân hữu hạn với bước chia h = 0.2 y" 3 y '2 y x y (0) 2, y (1) h = 0.2 n = điểm chia Hệ phương trình ẩn Ma trận cấp 4: Chéo akk – phần tử; Chéo ak, k+1: i xi 0.2 0.4 0.6 0.8 pi qi ri aii ai,i+1 3 3 3 3 2 2 3.4 3.8 4.2 4.6 2.08 2.08 2.08 2.08 1.3 1.3 1.3 ai-1,i bi 0.7 0.7 0.7 1.264 0.152 0.168 1.116 KẾT QUẢ - Giải hệ phép khử Gauss (làm tròn chữ số lẻ): 0 2.08 1.3 0.7 2.08 1.3 A b 0.7 2.08 1.3 0 0.7 2.08 0 0.625 1.642 1.3 A b 0.7 2.08 1.3 0 0.7 2.08 0.608 0.273 0.168 1.116 1.264 0.152 0.168 1.116 1.006 0.636 y 0.593 0.736 BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK - PHƯƠNG PHÁP TÍNH – CHƯƠNG BỔ SUNG PARABOLIC • TS NGUYỄN QUỐC LÂN (12/2006) PHƯƠNG TRÌNH PARABOLIC - Bài toán truyền nhiệt & đkiện biên + đk đầu ∂u ∂ 2u ( x, t ) − a 2 ( x, t ) = f ( x, t ), < x < 1, t > ∂t ∂x u ( x,0) = u0 ( x), ≤ x ≤ u (0, t ) = u (1, t ) = 0, t > t u=0 Ω u=0 Mieàn Ω = { (x,t) | ≤ x ≤ , t ≥ } Phân hoạch Ω : Lưới theo x độ Δt dài Δx, theo t độ dài Δt ⇒ Các Δx u0 ( x ) x đường thẳng x = i Δx, t = k Δt Xấp xỉ ∂u/∂t, ∂u/ ∂x & ĐK biên, đầu ⇒ Giá trị u điểm chia MINH HOẠ Ý TƯỞNG: SAI PHÂN TIẾN ⎧ ∂u ∂ 2u ⎪ ∂t ( x, t ) − ∂x ( x, t ) = xt , < x < 1.5, t > ⎪ ⎨ )=u t) ) = x(1 − 0≤ ⎪u (0, t44(1.5, 4= 0, t > 0; u ( x,044452x ), 44x ≤4 14 444 14 4 ⎪ Điều Kiện Biên: x = & x =1.5 Điều Kiện Đầu: t = ⎩ Xây dựng công thức tính u(1) (mức thời gian 1) theo u(0) với Δt = 0.2, Δx = 0.5 bởi: Sai phân tiến theo t từ mốc thời gian t ∂u u1 − 0.5 Tieán: u u (0.5,0) ≈ 0.2 ∂t 0.2 0.5 − × 0.5 + 0.5 u (0 ) 0.5 ∂ 2u (0.5,0) ≈ ∂x (0.5)2 x = x = 0.5 x = 1.0 x = 1.5 ∂u ∂ 2u u1 − 0.5 − 0.5 (0.5,0) − (0.5,0) = 0.5 × ⇒ − = ⇒ u1 = 0.1 ∂t ∂x 0.2 0.52 1 MINH HOẠ Ý TƯỞNG: SAI PHÂN LUØI ⎧ ∂u ∂ 2u ⎪ ∂t ( x, t ) − ∂x ( x, t ) = xt , < x < 1.5, t > ⎪ ⎨ )=u t) ) = x(1 − 0≤ ⎪u (0, t44(1.5, 4= 0, t > 0; u ( x,044452x ), 44x ≤4 14 444 14 4 ⎪ Điều Kiện Biên: x = & x =1.5 Điều Kiện Đầu: t = ⎩ Xây dựng công thức tính u(1) (mức thời gian 1) theo u(0) với Δt = 0.2, Δx = 0.5 bởi: Sai phân lùi theo t từ mốc thời gian t ∂u 0.5 − u1 Luøi: u u (0.5,0.2) ≈ 0.2 ∂t − 0.2 1 u1 − 2u1 + u0 0.5 u (0 ) 0.5 ∂ 2u (0.5,0.2) ≈ ∂x (0.5)2 x = x = 0.5 x = 1.0 x = 1.5 1 ∂u ∂ 2u 0.5 − u1 u1 − 2u1 (0.5,0.2) − (0.5,0.2) = 0.5 × 0.2 ⇒ − 2 = 0.1 ∂t ∂x 0.5 − 0.2 1 PHÂN HOẠCH VỚI BÀI TOÁN PARABOLIC - Ox: Các đoạn độ dài Δx = l/(n+1) u12 u (0, Δt ) u2 u1 u1 u0 (0 ) u0 (Δx ) u0 (2Δx ) Ot (t > 0) : Các đoạn độ dài Δt Nút (iΔx, kΔt) ⇒ u(iΔx, kΔt)= uik Điều kiện biên: THUẦN NHẤT (u = 0) x = 0, x = l điều kiện ban đầu (t = 0): k k u0 = un +1 = , k ≥ ; ui0 = u0 (iΔx ) = u0i , i = → n + 144 2444 144444 44444 Điều Kiện Biên ( x = & x = l ) Điều Kiện Ban Đầu ( t = ) SƠ ĐỒ SAI PHÂN VỚI BÀI TOÁN PARABOLIC - Ký hiệu: u u (2 ) , f (2 ) u (1) , f (1) u (0 ) , f (0 ) Sai phaân tieán: (iΔx, kΔt ) (k ) u12 u1 = [ ] k k T u1 ,K , un u2 u1 , f (k ) = [ ] k k T f1 ,K , f n ∂u ∂ u − a = f ( x, t ) ∂ x ∂t u3 Bieát u(0), f(k) ∀ k ≥ Giả sử u3 biết u(k) ⇒ Cần tính u(k+1) ∂ 2u ∂u (i, k ) − a 2 (i, k ) = f i k ∂ x ∂t uik +1 − uik ∂u (i, k ) = Δt ∂t uik+1 − 2uik + uik−1 ∂ 2u (i, k ) = ∂x (Δx )2 ∂u k +1 Luøi: (i, k + 1) − K = f i ∂t (iΔx , (k + 1)Δt ) ∂u uik +1 − uik = ∂t Δt ∂ 2u uik++1 − 2uik +1 + uik−+1 = ∂x (Δx )2 HIỆN (TIẾN) – ẨN (LÙI) (ĐK BIÊN THUẦN NHẤT) Biết u(0),f(k) ∀k ≥ Giả sử biết u(k) Hiện: u ( k +1) = Au ( k ) + (Δt ) f ( k ) Ma trận vuông A a (Δt ) ⇒ Cần tính u(k+1) λ = (Δx) AÅn: Bu ( k +1) = u ( k ) + (Δt ) f ( k +1) Ma trận vuông B K K 0⎤ ⎡1 − 2λ λ K K ⎤ ⎡1 + 2λ − λ ⎢ λ − 2λ λ K 0⎥ ⎢ − λ + 2λ − λ K ⎥ ⎢ ⎥ ⎢ ⎥ A=⎢ λ O O 0⎥ B = ⎢ − λ O O 0⎥ ⎥ ⎥ ⎢ M O O O O ⎢ M O O O O ⎢ ⎥ ⎢ ⎥ ⎢ K λ − 2λ ⎥ ⎢ − λ + 2λ ⎥ ⎦ ⎦ ⎣ ⎣ K Tính trực tiếp: u(k) sang u(k+1) Giải hệ p/trình: u(k) → u(k+1) VÍ DỤ (ĐIỀU KIỆN BIÊN THUẦN NHẤT) - ⎧ ∂u ∂ 2u ⎪ ( x, t ) − ( x, t ) = sin πxt , < x < 1, t > ⎨ ∂t ∂x ⎪u (0, t ) = u (1, t ) = 0, t > 0; u ( x,0) = sin πx,0 ≤ x ≤ ⎩ Tính u t = 0.2 với Δt = 0.1, Δx = 0.25: a/ Sđồ b/ Sđồ ẩn f(x,t) = sin(πxt) , u0(x) = sin(πx) , a = ⇒ λ = 1.6 moác ⇒ ma trận cấp a/ u(k+1) = A⋅u(k) + (Δt)⋅f(k) ⎤ ⎡− 2.2 1.6 A = ⎢ 1.6 − 2.2 1.6 ⎥ ⎢ ⎥ 1.6 − 2.2⎥ ⎢ ⎣ ⎦ b/ B.u(k+1) = u(k) + (Δt)⋅f(k+1) = b(k+1) 0⎤ ⎡ 4.2 − 1.6 B = ⎢− 1.6 4.2 − 1.6⎥ ⎢ ⎥ ⎢ − 1.6 4.2⎥ ⎣ ⎦ KẾT QUẢ TÍNH TOÁN f(x,t) = sin(πxt) , u0(x) = sin(πx) a/ Sơ đồ hiện: ⎤ ⎡0.707 ⎤ ⎡− 2.2 1.6 ⎡0 ⎤ u (1) = Au (0 ) + Δt ⋅ f (0 ) = ⎢ 1.6 − 2.2 1.6 ⎥ ⎢ ⎥ + 0.1 ⋅ ⎢0⎥ = K ⎢ ⎥ ⎢ ⎥⎢ ⎥ 1.6 − 2.2⎥ ⎢0.707 ⎥ ⎢0 ⎥ ⎢ ⎦⎣ ⎦ ⎣ ⎣ ⎦ ⎤ ⎡0.045⎤ ⎡− 2.2 1.6 ⎡0.078⎤ u ( ) = Au (1) + Δt ⋅ f (1) = ⎢ 1.6 − 2.2 1.6 ⎥ ⎢0.062⎥ + 0.1 ⋅ ⎢0.156⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ 1.6 − 2.2⎥ ⎢0.045⎥ ⎢ ⎢ ⎣ ⎣0.233⎥ ⎦ ⎦⎣ ⎦ b/ Sơ đồ aån: Bu(1) = u(0) + Δt.f(1) ⇒ 0⎤ ⎡ 4.2 − 1.6 ⎡0.078⎤ ⎡0.715⎤ ⎡0.707 ⎤ ⎢− 1.6 4.2 − 1.6⎥u (1) = ⎢ ⎥ + 0.1⋅ ⎢0.156⎥ = ⎢1.016 ⎥ ⇒ u (1) ⎢ ⎥ ⎢ ⎢ ⎥ ⎥ ⎥ ⎢ ⎢0.707 ⎥ ⎢ − 1.6 4.2⎥ ⎢0.233⎥ ⎢0.730⎥ ⎦ ⎣ ⎣ ⎦ ⎦ ⎦ ⎣ ⎣ PARABOLIC – ĐK BIÊN HẰNG SỐ, KHÁC - Bài toán truyền nhiệt & điều kiện biên khác + đk đầu ∂ 2u ∂u ( x, t ) − a 2 ( x, t ) = f ( x, t ), < x < 1, t > ∂x ∂t u (0, t ) = α & u (1, t ) = β , t > u ( x,0) = u0 ( x), ≤ x ≤ u=β Ω t u =α Giá trị λ, ma trận A, B: không đổi Hiện: u ( k +1) = Au ( k ) + Δt ⋅ f ( k ) + λc Δt AÅn: Bu ( k +1) = u ( k ) + Δt ⋅ f ( k +1) + λc Δx u0 ( x ) x Thêm vectơ c: c = [α , K 0, β ] : đầu α , β T PARABOLIC – ĐK BIÊN TỔNG QUÁT (THAY ĐỔI) - BT truyền nhiệt & điều kiện biên tổng quát + đk đầu ∂ 2u ∂u ( x, t ) − a 2 ( x, t ) = f ( x, t ), < x < 1, t > ∂x ∂t u (0, t ) = α (t ) & u (1, t ) = β (t ), t > u ( x,0) = u0 ( x), ≤ x ≤ u=β Ω t u =α Giá trị λ, ma trận A, B: không đổi Hiện: u ( k +1) = Au ( k ) + Δt ⋅ f ( k ) + λc ( k ) Δt AÅn: Bu ( k +1) = u ( k ) + Δt ⋅ f ( k +1) + λc ( k ) Δx u0 ( x ) x Vectô c (k ) = [α , K 0, β (k ) ] (k ) T : giá trị hàm biên α(t), β(t) mức thứ k