1. Trang chủ
  2. » Giáo án - Bài giảng

bài giảng phương pháp tính

100 645 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 100
Dung lượng 783,67 KB

Nội dung

0 Trường Đại học Thủy lợi Phạm Phú Triêm phương pháp tính 1 Carl Friedrich Gauss (1777-1855) vua Toán học 2 MỤC LỤC Lời nói đầu 4 Chương 1: HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH 5 1.1 Phương pháp Cholesky 5 1.2 Phương pháp lặp Gauss-Seidel 8 1.3 Phương pháp nới lỏng 13 Chương 2 : PHƯƠNG TRÌNH VÀ HỆ PHƯƠNG TRÌNH PHI TUYẾN 22 2.1 Phương pháp chia đôi 22 2.2 Phương pháp dây cung 25 2.3 Phương pháp tiếp tuyến 28 2.4 Phương pháp lặp đơn 31 2.5 Phương pháp Newton-Raphson cho hệ phương trình 33 2.6 Phương pháp lặp Seidel cho hệ phương trình 37 Kiểm tra nhận thức 42 Chương 3 : NỘI SUY GIÁ TRỊ HÀM SỐ 44 3.1 Công thức nội suy Gregory-Newton tiến 44 3.2 Công thức nội suy Gregory-Newton lùi 46 3.3 Công thức nội suy Gauss 48 3.4 Công thức nội suy Lagrange 50 3.5 Công thức nội suy Newton 51 3.6 Công thức bình phương nhỏ nhất 54 Bài tập 57 Kiểm tra nhận thức 58 Chương 4 : XẤP XỈ ĐẠO HÀM VÀ TÍCH PHÂN XÁC ĐỊNH 59 4.1 Xấp xỉ giá trị đạo hàm theo tỷ sai phân 59 4.2 Xấp xỉ giá trị đạo hàm theo công thức Richardson 60 4.3 Xấp xỉ giá trị đạo hàm theo công thức nội suy với các mốc cách đều 62 a- Công thức nội suy Gregory-Newton tiến 62 b- Công thức nội suy Gregory-Newton lùi 62 c- Công thức nội suy Gauss 62 4.4 Xấp xỉ giá trị đạo hàm theo c ông thức nội suy với các mốc bất kỳ 65 a- Công thức nội suy Lagrange 65 b- Công thức nội suy Newton 65 c- Công thức bình phương nhỏ nhất 65 4.5 Xấp xỉ giá trị tích phân xác định A 68 a- Công thức hình thang 68 b- Công thức Simpson 68 4.6 Dãy quy tắc 71 a- Dãy quy tắc hình thang 71 b- Dãy quy tắc Simpson 72 Bài tập 75 Kiểm tra nhận thức 78 Chương 5: XẤP XỈ NGHIỆM PHƯƠNG TRÌNH VI PHÂN 79 5.1 Xấp xỉ nghiệm phương trinh vi phân cấp một 79 a- Phương pháp Euler 79 b- Phương pháp Runge-Kutta bậc hai 80 c- Phương pháp Runge-Kutta bậc bốn 80 5.2 Xấp xỉ nghiệm hệ phương trình vi phân cấp một 82 a- Phương pháp Euler 82 3 b- Phương pháp Runge-Kutta bậc bốn 83 5.3 Xấp xỉ nghiệm phương trình vi phân cấp 2 85 5.4 Xấp xỉ nghiệm phương trình đạo hàm riêng 86 Kiểm tra nhận thức 96 4 Lời nói đầu Nhu cầu nâng cao chất lượng đào tạo sinh viên và các bài toán thực tiễn rất đa dạng, phức tạp là đòi hỏi cấp thiết đưa vào môn học PHƯƠNG PHÁP TÍNH nhằm giúp cho sinh viên khối kỹ thuật- Kỹ sư tương lai, tiếp cận với cách giải gần đúng phương trình, hệ phương trình có đánh giá sai só . . . , kết hợp trên cơ sở làm quen và tự nâng cao khả năng lập trình bằng một ngôn ngữ thường được sử dụng, đó l à PASCAL. Bộ môn Toán và tác giả trân trọng giới thiệu Giáo trình này và vô cùng cảm ơn các ý kiến đóng góp quý giá của độc giả. Hà nội 8-2005 5 Chương 1: HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH Chúng ta biết rằng hầu hết các bài toán thực tế đều dẫn đến giải hệ phương trình tuyến tính. Các phương pháp giải hệ được trình bày khá đầy đủ trong các tài liệu về Đại số tuyến tính. Tuy nhiên mọi cách giải về mặt thực tiễn đều phải tính gần đúng gắn liền với sai số. Vì vậy trong chương này chúng ta giải quyết vấn đề nêu ra trên đây. 1.1 Phương pháp Cholesky Giải hệ AX = B (1.1.1) trong đó A = 11 1 1 n nnn aa aa éù êú êú êú êú êú ëû , X = 1 n x x é ù ê ú ê ú ê ú ê ú ê ú ë û , B = 1 n b b éù êú êú êú êú êú ëû (1.1.2) Các bước cơ bản của phương pháp này là ** Tìm 2 ma trận tam giác L = 21 31 32 123 1 1 0 0 0 0 1 0 0 0 1 0 0 1 nn n nn l ll ll l l - é ù ê ú ê ú ê ú ê ú ê ú ê ú ê ú ê ú ê ú ê ú ë û , U = 11 12 13 1 1 1 22 23 2 1 2 33 3 1 3 0 0 0 0 0 0 0 nn nn nn nn uu u u u uu u u uuu u - - - éù êú êú êú êú êú êú êú êú êú êú ëû (1.1.3) thoả mãn LU = A (1.1.4) ** Giải hệ sau đây tìm Y LY= B (1.1.5) ** Tìm nghiệm X từ hệ UX= Y (1.1.6) Đó chính là nghiệm của hệ (1.1.1). Thật vậy AX = L(UX) = LY = B. Để tìm L , U ta tìm lần lượt hàng 1 của U , cột 1 của L , hàng 2 của U , cột 2 của L , . . . theo công thức tổng quát sau đây 6 1 1 1 1 , , i i ij ij ik kj k ij ik kj k ij jj ua lu ij alu lij u - - = = ì ï ï ï =- £ å ï ï ï ï ï í ï - å ï ï ï => ï ï ï ï î (1.1.7) Để đơn giản ta chỉ xét n = 3 và các bước tìm nghiệm * Tìm L và U L = 21 31 32 100 10 1 l ll éù êú êú êú êú êú êú ëû , U = 11 12 13 22 23 33 0 00 uu u uu u é ù ê ú ê ú ê ú ê ú ê ú ê ú ë û (1.1.8) Hàng 1 của U là u 11 = a 11 , u 12 = a 12 , u 13 = a 13 Cột 1 của L là 21 21 11 a l u = , 31 31 11 a l u = Hàng 2 của U là u 22 = a 22 – l 21 u 12 u 23 = a 23 – l 21 u 13 Cột 2 của L là 32 31 12 32 22 alu l u - = Hàng 3 của U là u 33 = a 33 – (l 31 u 13 + l 32 u 23 ) * Tìm Y y 1 = b 1 ∧ y 2 = b 2 – l 21 y 1 ∧ y 3 = b 3 – ( l 31 y 1 + l 32 y 2 ) * Tính nghiệm X 3 3 33 y x u = 2233 2 22 y x ux u - Ù= 1122133 1 11 y( ) x ux ux u -+ Ù= Ví dụ 1.1 Giải hệ sau đây bằng phương pháp Cholesky 13 123 12 23 32 5 10 0 xx xxx xx ì ï += ï ï ï ++ = í ï ï ï -= ï î Giải A = 201 325 110 é ù ê ú ê ú ê ú ê ú - ê ú ë û , X = 1 2 3 x x x é ù ê ú ê ú ê ú ê ú ê ú ë û , B = 3 10 0 é ù ê ú ê ú ê ú ê ú ê ú ë û . * Tìm L và U Hàng1 của U là u 11 = a 11 = 2 , u 12 = a 12 = 0 , u 13 = a 13 = 1 Cột 1 của L là 21 21 11 3 2 a l u == , 31 31 11 1 2 a l u == 7 Hàng 2 của U là u 22 = a 22 – l 21 u 12 = 2 – 3 2 .0 = 2 ; u 23 = a 23 – l 21 u 13 = 5 – 3 2 .1 = 7 2 Cột 2 của L là 32 31 12 32 22 1 1.0 1 2 22 alu l u - ===- Hàng 3 của U là u 33 = a 33 – (l 31 u 13 + l 32 u 23 ) = 0 – 5 117 .1 . 4 222 æö ÷ ç -= ÷ ç ÷ ç èø 1175 .1 . 2224 æö ÷ ç -= ÷ ç ÷ ç èø * Tìm Y y 1 = b 1 = 3 ∧ y 2 = b 2 – l 21 y 1 = 10 – 3 2 .3 = 11 2 ∧ y 3 = b 3 – ( l 31 y 1 + l 32 y 2 ) = 0 – 5 1111 .3 . 4 222 æö ÷ ç -= ÷ ç ÷ ç èø * Tính nghiệm X 3 3 33 y x u = = 5 4 5 4 = 1 2233 2 22 y x ux u - Ù= = 11 7 .1 22 2 - = 1 1122133 1 11 y( ) x ux ux u -+ Ù= = 3(0.11.1) 2 -+ = 1 Program CHOLESKY; Var A:Array[1 10,1 10] of real; B,X,Y:Array[1 10] of real; R:Array[1 10] of integer; DK,I,J,K,T,N:Integer; DET,SUM:Real; BEGIN Write('So an N=');Readln(N); Writeln('Nhap ma tran A '); For I:=1 to N do For J:=1 to N do Begin Write('A[',I,J,']=');Readln(A[I,J]); End; Writeln(' Nhap vecto B '); For I:=1 to N do Begin Write('B[',I,']=');Readln(B[I]); End; DK:=1;DET:=1; For I:=1 to N do R[I]:=I; For I:=1 to N-1 do If DK=1 then Begin For K:=I+1 to N do Begin If ABS(A[R[K],I])>ABS(A[R[I],I]) then 8 Begin T:=R[I];R[I]:=R[K];R[K]:=T;DET:==-DET; End; If A[R[I],I]=0 then DK:=2 Else Begin DET:=DET*A[R[I],I]; For K:=I+1 to N do Begin A[R[K],I]:=A[R[K],I]/A[R[I],I]; For J:=I+1 to N do A[R[K],J]:=A[R[K],J]-A[R[K],I]*A[R[I],J]; End; End; End; End; If A[N,N]=0 then DK:=2 Else Begin Y[1]:=B[R[1]]; For K:=2 to N do Begin SUM:=0; For J:=1 to K-1 do SUM:=SUM+A[R[K],J]*Y[J]; Y[K]:=B[R[K]]-SUM; End; X[N]:=Y[N]/A[R[N],N]; For K:=N-1 downto 1 do Begin SUM:=0; For J:= K+1 to N do SUM:=SUM+A[R[K],J]*X[J]; X[K]:=(Y[K]-SUM)/A[R[K],K]; End; End; If DK=1 then For I:=1 to N do Write('X[',I,']=',X[I]); If DK=2 then Writeln('Khong tinh duoc'); Readln; END. 1.2 Phương pháp lặp Gauss-Seidel Giải hệ 9 11 1 1 1 11 nn nnnnn ax a x b ax a x b ì ï ++ = ï ï ï ï í ï ï ï ++ = ï ï î (1.2.1) * Điều kiện lặp: A có đường chéo trội, có nghĩa là 1; n aa ii i j jji ³ å =¹ i = 1 , . . . , n (1.2.2) * Điều kiện hội tụ: A xác định dương, có nghĩa là a 11 > 0 , 11 12 13 11 12 21 22 23 21 22 31 31 33 0, 0, , 0 aaa aa aaa A aa aaa >>> (1.2.3) * Đưa hệ (1.2.1) về hệ tương đương 1122 1 1 2211233 2 2 11 2 2 1 1 ' ' ' nn nn nn nnn nnn n xcx cxb xcxcx cxb x cx c x c x b ì ï ï =+++ ï ï ï ï ï =+++ + ï í ï ï ï ï ï ï =++ + + ï ï î (1.2.4) bằng cách: chuyển các x K ( k ≠ i ) của phương trình thứ i sang vế phải và chia 2 vế cho a ii , i = 1, . . . , n * Thay xấp xỉ ban đầu X (0) = (x 1 (0) . . . x n (0) ) của nghiệm vào (1.2.4) để tìm xấp xỉ thứ nhất X (1) = (x 1 (1) . . . x n (1) ) của nghiệm (1) (0) (0) 12 1 1 12 (1) (1) (0) (0) 21 23 2 2 21 3 (1) (1) (1) (0) (0) 31 32 34 3 3 31 2 4 (1) (1) (1) (0) 11 1 2 1 1 11 2 ' ' ' nn nn nn nnnnnnn nn xcx cxb xcxcx cx b xcxcxcx cx b xcx c x cxb =+++ =+ ++ + =+ + ++ + =++ + + (1) (1) (1) (1) 121 121 ' ' nn nn nn n nn xcx c x c x b ì ï ï ï ï ï ï ï ï ï ï ï ï ï ï í ï ï ï ï ï ï ï ï ï ï ï ï =++ + + ï ï î (1.2.5) Như vậy ta đã sử dụng các giá trị x 1 (1) , . . . , x i (1) được tính ở các hàng trên để tìm các giá trị x i+1 (1) , . . . , x n (1) , i =1, . . . , n – 1, ở các hàng dưới. * Nếu (1) (0) 1 n ii i x x = å - ≤ εx (1.2.6) trong đó εx> 0 , cho trước (sai số đối với nghiệm) thì ta dừng ở X (1) . * Ngược lại, có nghĩa là . đôi 22 2.2 Phương pháp dây cung 25 2.3 Phương pháp tiếp tuyến 28 2.4 Phương pháp lặp đơn 31 2.5 Phương pháp Newton-Raphson cho hệ phương trình 33 2.6 Phương pháp lặp Seidel cho hệ phương trình. ĐẠI SỐ TUYẾN TÍNH 5 1.1 Phương pháp Cholesky 5 1.2 Phương pháp lặp Gauss-Seidel 8 1.3 Phương pháp nới lỏng 13 Chương 2 : PHƯƠNG TRÌNH VÀ HỆ PHƯƠNG TRÌNH PHI TUYẾN 22 2.1 Phương pháp chia đôi. 80 c- Phương pháp Runge-Kutta bậc bốn 80 5.2 Xấp xỉ nghiệm hệ phương trình vi phân cấp một 82 a- Phương pháp Euler 82 3 b- Phương pháp Runge-Kutta bậc bốn 83 5.3 Xấp xỉ nghiệm phương

Ngày đăng: 06/01/2015, 12:36

TỪ KHÓA LIÊN QUAN