Luận văn Giải số bằng Matlab

Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
MỤC LỤC  
LỜI CẢM ƠN  
Trang  
MỞ ĐẦU................................................................................................................ 1  
NỘI DUNG ............................................................................................................ 5  
CHƯƠNG 1. GIỚI THIỆU SƠ LƯỢC VỀ MATLAB........................................ 5  
1.1. TỔNG QUAN............................................................................................. 5  
1.1.1 Chương trình....................................................................................... 7  
1.1.2 Dòng lệnh ........................................................................................... 7  
1.1.3 Hàm số ............................................................................................... 8  
1.1.4 Biến số................................................................................................ 9  
1.2. MỘT SỐ LỆNH CƠ BẢN .......................................................................... 9  
1.2.1 Lệnh gán........................................................................................... 10  
1.2.2 Các lệnh trên ma trận và vectơ.......................................................... 10  
1.2.3 Các lệnh cấu trúc .............................................................................. 10  
1.2.4 Vẽ hình............................................................................................. 12  
1.2.5 Một số lệnh khác............................................................................... 13  
1.2.6 Các dạng thức (format) biểu diễn số.................................................. 14  
1.3. CÁC BÀI TOÁN ...................................................................................... 14  
Bài 1.3.1..................................................................................................... 14  
Bài 1.3.2..................................................................................................... 16  
Bài 1.3.3..................................................................................................... 18  
CHƯƠNG 2. ĐA THỨC TAYLOR.................................................................... 22  
2.1. ĐA THỨC TAYLOR................................................................................ 22  
Ví dụ 2.1.1.................................................................................................. 23  
Ví dụ 2.1.2.................................................................................................. 24  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 5  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Ví dụ 2.1.3.................................................................................................. 25  
Ví dụ 2.1.4.................................................................................................. 25  
Ví dụ 2.1.5.................................................................................................. 26  
CHƯƠNG TRÌNH MATLAB....................................................................... 27  
Chương trình 2.1 ........................................................................................ 28  
Chương trình 2.2 ........................................................................................ 30  
2.2. SAI SỐ TRONG ĐA THỨC TAYLOR .................................................... 31  
Định lý 2.2.1............................................................................................... 31  
Ví dụ 2.2.2.................................................................................................. 31  
Ví dụ 2.2.3.................................................................................................. 32  
Ví dụ 2.2.4.................................................................................................. 33  
Định lý 2.2.5............................................................................................... 35  
Ghi chú 2.2.6.............................................................................................. 36  
2.2.1 Chuỗi số vô hạn ................................................................................. 36  
Định lý 2.2.7............................................................................................... 38  
Định lý 2.2.8.............................................................................................. 38  
CHƯƠNG TRÌNH MATLAB....................................................................... 39  
Chương trình 2.3 ........................................................................................ 39  
Chương trình 2.4 ........................................................................................ 41  
2.3. TÍNH GIÁ TRỊ SỐ CỦA ĐA THỨC ........................................................ 43  
Ví dụ 2.3.1.................................................................................................. 45  
2.3.1 Một chương trình mẫu ....................................................................... 46  
CHƯƠNG TRÌNH MATLAB....................................................................... 47  
Chương trình 2.5 ........................................................................................ 48  
CHƯƠNG 3. TÌM NGHIỆM ............................................................................. 51  
Định lý 3.1.................................................................................................. 51  
Định lý 3.2.................................................................................................. 51  
Định lý 3.3.................................................................................................. 51  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 6  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
3.1. PHƯƠNG PHÁP CHIA ĐÔI .................................................................... 52  
3.1.1 Mô tả phương pháp........................................................................... 52  
Ví dụ 3.3.1.................................................................................................. 52  
3.1.2 Đánh giá sai số.................................................................................. 53  
CHƯƠNG TRÌNH MATLAB....................................................................... 53  
Chương trình 3.1 ........................................................................................ 54  
3.2. PHƯƠNG PHÁP NEWTON..................................................................... 56  
3.1.1 Mô tả phương pháp........................................................................... 56  
Ví dụ 3.2.1.................................................................................................. 57  
3.1.2 Đánh giá sai số.................................................................................. 58  
CHƯƠNG TRÌNH MATLAB....................................................................... 59  
Chương trình 3.2 ........................................................................................ 60  
3.3. PHƯƠNG PHÁP CÁT TUYẾN................................................................ 62  
3.3.1 Mô tả phương pháp........................................................................... 62  
Ví dụ 3.3.1.................................................................................................. 63  
3.3.2 Đánh giá sai số.................................................................................. 64  
CHƯƠNG TRÌNH MATLAB....................................................................... 65  
Chương trình 3.3 ........................................................................................ 65  
3.3.3 Hàm số Matlab fzero......................................................................... 67  
CHƯƠNG 4. PHÉP NỘI SUY VÀ PHÉP TÍNH XẤP XỈ ................................ 68  
4.1. PHÉP NỘI SUY ĐA THỨC .................................................................... 68  
4.1.1 Đa thức nội suy................................................................................. 68  
4.1.2 Sự tồn tại và duy nhất của đa thức nội suy ........................................ 68  
Định lý 4.1.1............................................................................................... 68  
4.1.3 Sai số nội suy và chọn nút nội suy .................................................... 69  
Định lý 4.1.2............................................................................................... 69  
4.1.4 Đa thức nội suy Lagrange ................................................................. 70  
4.1.5 Các tỷ sai phân.................................................................................. 70  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 7  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Định lý 4.1.3............................................................................................... 71  
CHƯƠNG TRÌNH MATLAB....................................................................... 71  
Chương trình 4.1 ........................................................................................ 72  
4.1.6 Công thức nội suy tỷ sai phân Newton.............................................. 73  
CHƯƠNG TRÌNH MATLAB....................................................................... 74  
Chương trình 4.2 ........................................................................................ 74  
4.2. ĐA THỨC CHEBYSHEV ........................................................................ 75  
CHƯƠNG TRÌNH MATLAB....................................................................... 77  
Chương trình 4.3 ........................................................................................ 77  
4.3. PHÉP NỘI SUY DÙNG HÀM GHÉP TRƠN (HÀM SPLINE) ................ 80  
4.3.1 Phép nội suy spline ........................................................................... 81  
4.3.2 Xây dựng hàm spline bậc 3 nội suy................................................... 81  
Ví dụ 4.3.1.................................................................................................. 82  
4.3.3 Chương trình MATLAB spline ......................................................... 83  
4.4. BÀI TOÁN XẤP XỈ HÀM THỰC NGHIỆM ........................................... 84  
4.4.1 Trường hợp f(x)=Ax+B .................................................................... 84  
Ví dụ 4.4.1.................................................................................................. 85  
4.4.2 Trường hợp f(x)=Ax2+Bx+C ........................................................... 85  
Ví dụ 4.4.2.................................................................................................. 86  
CHƯƠNG TRÌNH MATLAB....................................................................... 86  
Chương trình 4.4 ........................................................................................ 86  
CHƯƠNG 5. TÍCH PHÂN SỐ VÀ VI PHÂN ................................................... 88  
5.1. CÔNG THỨC HÌNH THANG ................................................................. 88  
5.1.1 Thiết lập công thức ........................................................................... 88  
Ví dụ 5.1.1.................................................................................................. 88  
Ví dụ 5.1.2.................................................................................................. 88  
5.1.2 Đánh giá sai số.................................................................................. 90  
Ví dụ 5.1.3.................................................................................................. 90  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 8  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
5.1.3 Nhận xét chung................................................................................. 90  
Ví dụ 5.1.4.................................................................................................. 91  
CHƯƠNG TRÌNH MATLAB....................................................................... 92  
Chương trình 5.1 ........................................................................................ 92  
5.2. CÔNG THỨC SIMPSON ........................................................................ 94  
5.1.1 Thiết lập công thức ........................................................................... 94  
5.1.2 Đánh giá sai số.................................................................................. 94  
5.1.3 Nhận xét chung................................................................................. 95  
CHƯƠNG TRÌNH MATLAB....................................................................... 96  
Chương trình 5.2 ........................................................................................ 96  
5.3. CÔNG THỨC TÍCH PHÂN GAUSS........................................................ 98  
5.1.1 Thiết lập công thức ........................................................................... 98  
5.1.2 Công thức sai số................................................................................ 99  
CHƯƠNG TRÌNH MATLAB....................................................................... 99  
Chương trình 5.3 ........................................................................................ 99  
Chú thích.................................................................................................. 100  
Chương trình 5.3a..................................................................................... 102  
5.4. VI PHÂN SỐ ......................................................................................... 102  
5.4.1 Vi phân số dùng phép nội suy ......................................................... 103  
CHƯƠNG TRÌNH MATLAB..................................................................... 105  
Chương trình 5.4 ...................................................................................... 106  
Chương trình 5.4a..................................................................................... 107  
Chương trình 5.4b..................................................................................... 108  
Chương trình 5.4c..................................................................................... 110  
CHƯƠNG 6. GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH ............................ 112  
6.1. PHƯƠNG PHÁP GAUSS....................................................................... 112  
Ví dụ 6.1.1................................................................................................ 114  
CHƯƠNG TRÌNH MATLAB..................................................................... 116  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 9  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Chương trình 6.1 ...................................................................................... 116  
6.2. PHƯƠNG PHÁP NHÂN TỬ LU............................................................ 118  
Định lý 6.2.1............................................................................................. 118  
Ví dụ 6.2.2................................................................................................ 119  
CHƯƠNG TRÌNH MATLAB..................................................................... 119  
Chương trình 6.2 ...................................................................................... 119  
Ví dụ 6.2.3................................................................................................ 122  
Chương trình 6.2a..................................................................................... 123  
6.3. PHƯƠNG PHÁP LẶP ........................................................................... 123  
Định nghĩa 6.3.1....................................................................................... 124  
Ví dụ 6.3.2................................................................................................ 124  
Định lý 6.3.3............................................................................................. 124  
Định nghĩa 6.3.4....................................................................................... 125  
Định lý 6.3.5............................................................................................. 125  
Ví dụ 6.3.6................................................................................................ 125  
Định lý 6.3.7............................................................................................. 126  
Định nghĩa 6.3.8....................................................................................... 127  
Ví dụ 6.3.9................................................................................................ 128  
CHƯƠNG TRÌNH MATLAB..................................................................... 131  
Chương trình 6.3 ...................................................................................... 132  
Chương trình 6.3a..................................................................................... 133  
CHƯƠNG 7. GIẢI SỐ PHƯƠNG TRÌNH VI PHÂN THƯỜNG .................. 135  
7.1. PHƯƠNG PHÁP EULER ....................................................................... 136  
CHƯƠNG TRÌNH MATLAB..................................................................... 138  
Chương trình 7.1 ...................................................................................... 139  
Chương trình 7.1a..................................................................................... 141  
7.2. PHƯƠNG PHÁP RUNGE – KUTTA ..................................................... 142  
CHƯƠNG TRÌNH MATLAB..................................................................... 145  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 10  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Chương trình 7.2 ...................................................................................... 145  
7.3. PHƯƠNG PHÁP ĐA BƯỚC (MULTISTEP METHODS) ..................... 147  
CHƯƠNG TRÌNH MATLAB..................................................................... 149  
Chương trình 7.3 ...................................................................................... 149  
7.4. BÀI TOÁN BIÊN TUYẾN TÍNH CẤP HAI........................................... 152  
CHƯƠNG TRÌNH MATLAB..................................................................... 153  
Chương trình 7.4 ...................................................................................... 153  
CHƯƠNG 8. GIẢI SỐ PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG..................... 156  
8.1. BÀI TOÁN LAPLACE 1 CHIỀU ........................................................... 156  
8.1.1 Bài toán .......................................................................................... 156  
8.1.2 Phân rã bài toán .............................................................................. 156  
CHƯƠNG TRÌNH MATLAB..................................................................... 157  
Chương trình 8.1 ...................................................................................... 158  
8.2. BÀI TOÁN PARABOLIC 1 CHIỀU....................................................... 159  
8.2.1 Bài toán .......................................................................................... 159  
8.2.2 Phân rã bài toán .............................................................................. 160  
CHƯƠNG TRÌNH MATLAB..................................................................... 161  
Chương trình 8.2 ...................................................................................... 161  
8.3. BẬC HỘI TỤ VÀ ĐIỀU KIỆN BIÊN NEUMANN CỦA BÀI TOÁN  
MỘT CHIỀU ............................................................................................... 165  
8.3.1 Bậc hội tụ ....................................................................................... 165  
8.3.2 Điều kiện biên Neumann................................................................. 167  
CHƯƠNG TRÌNH MATLAB..................................................................... 168  
Chương trình 8.3 ...................................................................................... 169  
8.4. BÀI TOÁN LAPLACE 2 CHIỀU ........................................................... 172  
8.4.1 Bài toán .......................................................................................... 172  
8.4.2 Phân rã bài toán .............................................................................. 172  
CHƯƠNG TRÌNH MATLAB..................................................................... 174  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 11  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Chương trình 8.4 ...................................................................................... 174  
8.5. BÀI TOÁN PARABOLIC 2 CHIỀU....................................................... 179  
8.5.1 Bài toán .......................................................................................... 179  
8.5.2 Phân rã bài toán .............................................................................. 179  
CHƯƠNG TRÌNH MATLAB..................................................................... 180  
Chương trình 8.5 ...................................................................................... 180  
8.6. BẬC HỘI TỤ VÀ ĐIỀU KIỆN BIÊN NEUMANN CỦA BÀI TOÁN HAI  
CHIỀU ........................................................................................................ 186  
CHƯƠNG TRÌNH MATLAB..................................................................... 187  
Chương trình 8.6 ...................................................................................... 187  
KẾT LUẬN ....................................................................................................... 191  
1. NHẬN ĐỊNH CHUNG.............................................................................. 191  
2. MỘT SỐ HƯỚNG NGHIÊN CỨU TIẾP THEO ....................................... 192  
TÀI LIỆU THAM KHẢO  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 12  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
DANH MỤC CÁC BẢNG  
Trang  
Bảng 2.1. Xấp xỉ Taylor của ex quanh điểm x = 0....................................................... 25  
Bảng 3.1. Phương pháp chia đôi đối với ví dụ 3.1.1 .................................................... 52  
Bảng 3.2. Phương pháp Newton giải x6 – x – 1 = 0 ..................................................... 58  
Bảng 3.3. Phương pháp cát tuyến giải x6 – x – 1 = 0 ................................................... 64  
Bảng 4.1. Các giá trị và các tỷ sai phân của cos(x)...................................................... 73  
Bảng 4.2. Nội suy cos(x)............................................................................................. 74  
x
Bảng 4.3. Giá trị  
............................................................................... 80  
max e c x  
n
   
-1x1  
Bảng 5.1. Các ví dụ về quy tắc hình thang .................................................................. 92  
Bảng 5.2. Các ví dụ về quy tắc Simpson ..................................................................... 95  
Bảng 6.1. Vài kết quả giải ví dụ 6.3.9 bằng phương pháp Jacobi............................... 130  
Bảng 6.2. Vài kết quả giải ví dụ 6.3.9 bằng phương pháp Gauss - Seidel .................. 131  
Bảng 7.1. Kết quả giải số bằng phương pháp Euler hiện với n = 0, 1, ...,10.............. 140  
Bảng 7.2. Kết quả giải số bằng phương pháp Euler ẩn với n = 0, 1, ...,10................. 142  
Bảng 7.3. Kết quả giải số bằng công thức (7.12) với n = 0, 1, ...,10.......................... 146  
Bảng 7.4. Kết quả giải số bằng phương pháp AB2 với n = 0, 1, ...,10....................... 151  
Bảng 7.5. Kết quả giải số bài toán biên tuyến tính cấp 2 với n = 0, 1, ...,10.............. 155  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 13  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
DANH MỤC CÁC HÌNH  
Trang  
Hình 1.1. Đồ thị hàm số f(x)=x2 + sin(x)..................................................................... 15  
Hình 1.2. Đồ thị của y=s(x) (xanh) và y=sin(x) (đỏ).................................................... 17  
Hình 1.3. .................................................................................................................... 19  
Hình 1.3a. .................................................................................................................. 20  
Hình 1.3b. .................................................................................................................. 21  
Hình 2.1. Đồ thị xấp xỉ Taylor bậc nhất của ex quanh điểm x = 0 ................................ 23  
Hình 2.2. Đồ thị xấp xỉ Taylor bậc nhất và bậc hai của ex quanh điểm x = 0 ............... 24  
Hình 2.3. Đồ thị xấp xỉ Taylor của log(x)=ln(x) quanh điểm x = 1.............................. 27  
Hình 2.4. Đồ thị sai số trong xấp xỉ Taylor của ex quanh điểm x = 0 ........................... 32  
Hình 2.5. Đồ thị xấp xỉ Taylor của ex quanh điểm x = 0 .............................................. 41  
Hình 2.6. Đồ thị sai số trong xấp xỉ Taylor của log(x)=ln(x) quanh điểm x=1 ............ 43  
Hình 2.7. Các xấp xỉ Taylor của Sint(x) ..................................................................... 50  
Hình 3.1. Dạng biểu đồ của phương pháp Newton ...................................................... 57  
Hình 3.2. Biểu đồ của phương pháp cát tuyến: x1 x0 .......................................... 62  
Hình 3.3. Biểu đồ của phương pháp cát tuyến: x1 x0 .......................................... 63  
Hình 4.1. Đồ thị thể hiện hàm nội suy......................................................................... 79  
Hình 4.2. Đồ thị dáng điệu của sai số trong phép nội suy ............................................ 80  
Hình 4.3. Đồ thị của đa thức thực nghiệm f (màu xanh) và các điểm dữ kiện (màu  
đỏ) .............................................................................................................................. 87  
Hình 5.1. Đồ thị của f, f’, f” và f”’ ............................................................................ 107  
Hình 5.2. Đồ thị thể hiện các điểm (x) để f3=0.......................................................... 108  
Hình 5.3. Đồ thị biểu thị điểm cực tiểu của hàm f ..................................................... 110  
Hình 5.4. Đồ thị biểu hiện độ lệch của f và k............................................................. 111  
Hình 7.1. Giải số (màu xanh), giải chính xác (màu đỏ).............................................. 141  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 14  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Hình 7.2. Giải số (màu xanh), giải chính xác (màu đỏ).............................................. 142  
Hình 7.3. Giải số (màu xanh), giải chính xác (màu đỏ).............................................. 147  
Hình 7.4. Giải số (màu xanh), giải chính xác (màu đỏ).............................................. 151  
Hình 7.5. Giải số (màu xanh), giải chính xác (màu đỏ).............................................. 155  
Hình 8.1. Giải số (màu xanh), giải chính xác (màu đỏ).............................................. 159  
Hình 8.2a. Giải số (màu xanh), giải chính xác (màu đỏ)............................................ 163  
Hình 8.2b. Giải số (màu xanh), giải chính xác (màu đỏ)............................................ 164  
Hình 8.3a. Đây là đồ thị của –ln(error(h)) VS –ln(h)................................................. 166  
Hình 8.3b. Giải số với N=10 (màu xanh), giải chính xác (màu đỏ)............................ 170  
Hình 8.4a. Đây là phép giải số .................................................................................. 177  
Hình 8.4b. Đây là phép giải chính xác....................................................................... 177  
Hình 8.4c. Đây là đồ thị của phép giải số .................................................................. 178  
Hình 8.4d. Đây là đồ thị của phép giải chính xác ...................................................... 178  
Hình 8.5a. Đây là đồ thị của phép giải số .................................................................. 183  
Hình 8.5b. Đây là đồ thị của phép giải chính xác ...................................................... 184  
Hình 8.5c. Đây là đồ thị của phép giải số .................................................................. 185  
Hình 8.5d. Đây là đồ thị của phép giải chính xác ...................................................... 185  
Hình 8.6a. Đây là đồ thị của lời giải số thứ nhất........................................................ 189  
Hình 8.6b. Đây là đồ thị của lời giải số thứ hai.......................................................... 189  
Hình 8.6c. Đây là đồ thị của lời giải chính xác.......................................................... 190  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 15  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
MỞ ĐẦU  
Giải tích số hiện đang phát triển mạnh và càng mạnh hơn với sự phát triển  
cực kỳ nhanh của tin học. Công nghệ tin học và giải tích số có vai trò rất quan  
trọng trong các lĩnh vực, ngay cả trong thị trường chứng khoán đang mới nổi ở  
Việt Nam và diễn biến rất gay gắt hiện nay trong nền kinh tế thị trường, cũng phải  
nghiên cứu nhiều bài toán phương trình vi tích phân ngẫu nhiên mà không thể  
không sử dụng kiến thức về giải tích số và tin học ứng dụng. Ở đây chúng tôi  
không đi vào nghiên cứu bài toán về thị trường chứng khoán mà chỉ muốn nói rõ  
vai trò của giải tích số và tin học.  
Thực tế hiện nay: Giải tích số, các phương pháp tính trình bày đơn thuần  
bằng kiến thức toán thì tài liệu và sách hiện nay có rất nhiều và phổ biến. Tài liệu  
và sách về giải số các bài toán bằng các chương trình máy tính hiện cũng đã có  
nhưng bằng MATLAB thì không nhiều và chương trình MATLAB được đưa vào  
còn rời rạc và chưa hướng dẫn cho người đọc cách thực hiện một chương trình cụ  
thể như thế nào.  
Trong khi đó, MATLAB – là phần mềm nổi tiếng của công ty MathWorks,  
là một ngôn ngữ hiệu năng cao cho tính toán kỹ thuật. Nó tích hợp tính toán, hiện  
thị và lập trình trong một môi trường dễ sử dụng. Các ứng dụng tiêu biểu của  
MATLAB bao gồm: hỗ trợ toán học và tính toán; phát triển thuật toán; mô hình,  
mô phỏng; phân tích, khảo sát và hiển thị số liệu; đồ họa khoa học và kỹ thuật;  
phát triển ứng dụng với giao diện đồ họa.  
Ngoài MATLAB cơ bản với các khả năng rất phong phú, phần mềm  
MATLAB còn được trang bị thêm các ToolBox – các gói chương trình (thư viện)  
cho các lĩnh vực ứng dụng rất đa dạng như xử lý tín hiệu, nhận dạng hệ thống, xử  
lý ảnh, mạng nơ ron, logic mờ, tài chính, tối ưu hóa, phương trình đạo hàm riêng,  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 16  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
sinh tin học,... Đây là các tập hợp mã nguồn viết bằng chính MATLAB dựa theo  
các thuật toán mới, hữu hiệu mà người dùng có thể chỉnh sửa hoặc bổ sung thêm  
các hàm mới. MATLAB được thiết kế để giải các bài toán bằng số chứ không  
nhằm mục đích chính là tính toán ký hiệu như MATHEMATICA và MAPLE. Tuy  
nhiên, trong MATLAB cũng có thể tính toán ký hiệu được nhờ các hàm trong  
Symbolic Math ToolBox.  
Trên thế giới, MATLAB được cộng đồng hàn lâm trên thế giới chấp nhận  
rộng rãi như một công cụ phục vụ cho giảng dạy, nghiên cứu toán học và phát  
triển các ứng dụng kỹ thuật. Hơn 3500 trường đại học nhất là các trường đại học  
kỹ thuật đã đưa MATLAB vào giảng dạy và nghiên cứu. Hiện nay đã có trên 700  
đầu sách về MATLAB dành cho giáo viên, sinh viên và các nhà chuyên môn. Ở  
Việt nam, theo chúng tôi được biết, MATLAB đã được đưa vào giảng dạy cho  
sinh viên, học viên cao học hoặc giới thiệu tại một số khoa, trường đại học và cũng  
đã xuất bản một số đầu sách về MATLAB dành cho sinh viên các khối khoa học  
và kỹ thuật. Tuy nhiên mức độ phổ biến của MATLAB chưa phải là cao. Nhất là ở  
đồng bằng sông Cửu Long.  
Với ưu thế về tính toán số trị MATLAB rất thích hợp cho việc giảng dạy  
môn học giải tích số, các phương pháp số - môn học không thể thiếu được đối với  
sinh viên toán, lý, công nghệ thông tin và các ngành kỹ thuật. Việc sử dụng  
MATLAB để lập trình các thuật toán của môn học này có cái lợi là đơn giản, dễ  
dàng vẽ các đồ thị để hiện thị kết quả và kiểm tra kết quả các chương trình tự viết  
so với kết quả của các hàm đã cài đặt sẵn vì MATLAB cơ bản chứa đựng rất nhiều  
các hàm tính toán toán học. Từ đó, góp phần nâng cao năng lực dạy và học toán  
trong các trường Đại học, đặc biệt là môn học giải tích số và phương pháp tính.  
Chính vì thế, PGS.TS ĐẶNG ĐỨC TRỌNG đã khuyên tôi nên chọn đề tài  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 17  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
“GIẢI SỐ BẰNG MATLAB”.  
Trong luận văn này, chúng tôi sẽ trình bày sơ lược (không đi sâu) về lý  
thuyết giải số mà chú trọng vào các chương trình MATLAB để giải quyết bài toán  
số.  
Để thực hiện luận văn này, chúng tôi đã tham khảo tài liệu có liên quan  
trong và ngoài nước, phân tích, chọn lọc và hệ thống hoá thành cơ sở lý luận phục  
vụ cho đề tài. Ngoài ra, chúng tôi còn sử dụng công nghệ thông tin, internet.  
Khi nhận được lời khuyên từ PGS.TS ĐẶNG ĐỨC TRỌNG về đề tài này,  
tôi bắt đầu tìm hiểu sơ lược về đề tài, chọn đề tài. Sau đó, nghiên cứu những tài  
liệu có liên quan rồi phân tích, tổng hợp, chọn lọc những nội dung cơ bản phục vụ  
cho đề tài. Lập đề cương dự kiến, tìm hiểu và chạy thử một số chương trình  
MATLAB. Tiến hành sắp xếp lại các vấn đề, điều chỉnh, bổ sung các đoạn chương  
trình và viết hoàn chỉnh thành nội dung của luận văn.  
Nội dung của luận văn được chia thành 8 chương. Chương 1, giới thiệu sơ  
lược về MATLAB, một số đặc tính và một số lệnh được sử dụng trong các chương  
trình MATLAB trong luận văn này. Chương 2, trình bày đa thức Taylor, cách thiết  
lập, cách xác định giá trị và sai số của đa thức Taylor, và cách ước lượng đa thức.  
Chương 3, trình bày một số phương pháp tìm nghiệm thực của phương trình phi  
tuyến, phương pháp chia đôi, phương pháp Newton và phương pháp cát tuyến.  
Chương 4, phép nội suy và phép tính xấp xỉ, trong phần này chúng tôi trình bày  
phép nội suy đa thức, đa thức Chebyshev, phép nội suy dùng hàm ghép trơn và bài  
toán xấp xỉ hàm thực nghiệm. Chương 5, tích phân số và vi phân, chúng tôi trình  
bày một số công thức tính tích phân, công thức hình thang, công thức Simpson và  
công thức tích phân Gauss, và sơ lược về vi phân số. Chương 6, một số phương  
pháp giải hệ phương trình tuyến tính như là phương pháp Gauss, phương pháp  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 18  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
nhân tử LU và phương pháp lặp. Chương 7, một số phương pháp giải số phương  
trình vi phân thường như là phương pháp Euler, phương pháp Runge – Kutta và  
phương pháp đa bước đối với phương trình vi phân tuyến tính cấp một, và giải bài  
toán biên tuyến tính cấp hai. Chương 8, giải số phương trình đạo hàm riêng dựa  
trên cơ sở phân rã các bài toán, bài toán Laplace và bài toán Parabolic một chiều  
và hai chiều cùng với việc đánh giá bậc hội tụ và điều kiện Neumann của nó.  
Nhìn chung nội dung luận văn đã trình bày tương đối đầy đủ các nội dung  
chương trình của môn học giải tích số cũng như môn học phương pháp tính của  
sinh viên chuyên ngành toán, sinh viên bách khoa và sinh viên ngành kỹ thuật.  
Cùng với các chương trình MATLAB ở từng mục sẽ tạo nên một phong cách tươi  
mới hơn, tích cực hơn, hiệu quả và hiện đại hơn trong việc dạy và học môn giải  
tích số cũng như môn phương pháp tính. Góp phần nâng cao năng lực dạy và học  
toán trong các trường đại học. Đây cũng là mục tiêu hướng tới của chúng tôi khi  
thực hiện luận văn này.  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 19  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
NỘI DUNG  
CHƯƠNG 1  
GIỚI THIỆU SƠ LƯỢC VỀ MATLAB  
1.1. TỔNG QUAN  
Như đã biết, MATLAB được thiết kế để giải các bài toán bằng số chứ  
không nhằm mục đích chính là tính toán ký hiệu như MATHEMATICA và  
MAPLE. Tuy nhiên, trong MATLAB cũng có thể tính toán ký hiệu được nhờ các  
hàm trong Symbolic Math ToolBox (chúng tôi không trình bày cụ thể lý thuyết  
phần này mà chỉ chú trọng phần lập trình).  
Tên của phần mềm MATLAB là viết tắt của thuật ngữ “MATrix  
LABoratory”, được Cleve Moler phát minh vào cuối thập niên 1970, và sau đó là  
chủ nhiệm khoa máy tính tại Đại học New Mexico. Đầu tiên nó được viết bằng  
FORTRAN để cung cấp truy nhập dễ dàng tới phần mềm ma trận được phát triển  
bởi các dự án LINPACK và EISPACK. Sau đó nó được viết bằng ngôn ngữ C trên  
cơ sở các thư viện và phát triển thêm nhiều lĩnh vực của tính toán khoa học và các  
ứng dụng kỹ thuật.  
Steve Bangert là người đã viết trình thông dịch cho MATLAB. Công việc  
này kéo dài gần 1½ năm. Sau này, Jack Little kết hợp với Moler và Steve Bangert  
quyết định đưa MATLAB thành dự án thương mại - công ty The MathWorks ra  
đời thời gian này – năm 1984.  
Năm 2004 MATLAB 7 phát hành, có khả năng chính xác đơn và kiểu  
nguyên, hỗ trợ hàm lồng nhau, công cụ vẽ điểm, và có môi trường phân tích số  
liệu tương tác. Đến tháng 12 năm 2008, phiên bản 7.7 được phát hành với SP3 cải  
thiện Simulink cùng với hơn 75 sản phẩm khác.  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 20  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Một số đặc trưng chính của MATLAB:  
MATLAB là ngôn ngữ thông dịch. Vì thế nó có thể làm việc ở hai chế độ:  
tương tác và lập trình. Trong chế độ tương tác MATLAB thực hiện từng lệnh được  
gõ trong cửa sổ lệnh sau dấu nhắc lệnh và kết quả tính toán được hiện ngay trong  
cửa sổ này, còn đồ thị được hiện trong một cửa sổ khác. Lệnh tương tác có thể là  
đơn giản, thí dụ tính sin(1.5) hoặc vẽ fplot('sin(1 ./ x)', [0.01 0.1]), có thể là cấu  
trúc điều kiện, thí dụ if x<=0; y=0; else; y=1; end hoặc các cấu trúc lặp xác định  
và không xác định. Trong chế độ lập trình một tập lệnh được soạn thảo và ghi  
thành một têp đuôi .m (m-file). Các hàm cũng được tổ chức thành các m-file. Một  
chương trình có thể gồm nhiều m-file. Để chạy chương trình chỉ cần gõ tên m-file  
chính trong cửa sổ lệnh rồi Enter.  
Các hàm trong MATLAB cơ bản (không kể các thư viện chuyên dụng được  
gọi là các ToolBox) được chia làm 2 loại: hàm trong và hàm ngoài. Các hàm trong  
là các hàm được cài đặt sẵn (built-ins) tức là tồn tại dưới dạng mã nhị phân nên ta  
không thể xem được mã nguồn của chúng, thí dụ các hàm sin, sqrt, log, clear,  
clc,.... Đây là các hàm hay được sử dụng hoặc các hàm đòi hỏi nhiều thời gian xử  
lý. Các hàm ngoài là các hàm tồn tại dưới dạng mã nguồn mà người dùng có thể  
tham khảo hoặc chỉnh sửa, bổ sung khi cần thiết, thí dụ log10, ode23, fzero,...  
Phần tử dữ liệu chính của MATLAB là các ma trận (mảng) mà kích thước  
của chúng không cần khai báo trước như trong các ngôn ngữ lập trình khác. Tuy  
nhiên, để tăng tốc độ xử lý cần báo trước cho MATLAB biết kích thước tối đa của  
mảng để phân bổ bộ nhớ bằng một lệnh gán, chẳng hạn A(20,30)=0.  
Các khả năng chính của MATLAB cơ bản:  
Thực hiện các tính toán toán học bao gồm: ma trận và đại số tuyến tính, đa  
thức và nội suy, phân tích số liệu và thống kê, tìm cực trị của hàm một biến hoặc  
nhiều biến, tìm nghiệm của phương trình, tính gần đúng tích phân, giải phương  
trình vi phân…  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 21  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Đồ họa 2 chiều và 3 chiều: MATLAB cung cấp rất nhiều các hàm đồ họa,  
nhờ đó ta có thể nhanh chóng vẽ được đồ thị của hàm bất kỳ 1 biến hoặc 2 biến, vẽ  
được các kiểu mặt, các contour, trường vận tốc,...Ngoài ra MATLAB còn vẽ rất  
tốt các đối tượng 3 chiều phức tạp như hình trụ, hình cầu, hình xuyến,..và cung cấp  
khả năng xử lý ảnh và hoạt hình.  
Xây dựng giao diện người dùng: với MATLAB 7 người dùng có thể dễ  
dàng xây dựng giao diện gồm các thực đơn, nút lệnh, hộp thoại, hộp chọn,...mà  
không cần phải viết mã như các phiên bản trước đây.  
1.1.1 Chương trình  
Một chương trình MATLAB thường được soạn trong các M-file (các file  
có đuôi .m).  
Để chạy các dòng lệnh trong file xyz.m nào đó, ta vào cửa sổ làm việc và  
gõ xyz rồi Enter. Lưu ý: lúc này đường dẫn tới thư mục chứa file xyz.m (và các  
file liên quan) phải được khai báo trong Current Directory của MATLAB. Khi  
mới khởi động, thư mục này mặc định là Work trong chỗ cài đặt Matlab (thường  
là C:\MATLAB7\work).  
1.1.2 Dòng lệnh  
Các dòng lệnh trong MATLAB được thực hiện tiếp nối nhau. Mỗi dòng  
lệnh thông thường có thể có dấu “ ; ” ở cuối hoặc không. Nếu dòng lệnh không có  
dấu “ ; ” ở cuối thì kết quả sẽ được xuất ra. Trong trường hợp không muốn nhìn  
các kết quả trung gian mà chỉ muốn xem kết quả cuối cùng, ta sử dụng dấu “ ; ”  
cho các dòng lệnh mà ta không muốn xem kết quả.  
Ví dụ: dòng lệnh x=1+2 sẽ xuất ra x=3. Tuy nhiên dòng lệnh x=1+2; sẽ không  
xuất ra gì hết (mặc dù giá trị của biến x bây giờ là 3).  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 22  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Nếu muốn loại bỏ một dòng lệnh khi chạy chương trình, ta có thể để dấu %  
ở đầu dòng lệnh. Thông thường dấu % được sử dụng để ghi các chú thích (chỉ  
dùng cho người đọc, máy không thực thi).  
1.1.3 Hàm số  
Ta có quyền viết sin(2) vì hàm sin là một hàm đã có sẵn trong thư viện  
MATLAB. Ngoài ra ta có quyền định nghĩa thêm các hàm mới, và sau khi định  
nghĩa thì ta có quyền sử dụng các hàm mới này y hệt như các hàm cơ bản như hàm  
sin.  
Hàm số xyz được viết trên file xyz.m, có cú pháp kiểu như:  
function a=xyz(b,c)  
% day la ham xyz  
Trong đó b, c là các dữ liệu nhập vào, a là giá trị trả về (trong chương trình sẽ  
có ít nhất một lệnh gán, chẳng hạn a = b + c;), dòng chữ day la ham xyz là chú  
thích về công dụng của hàm xyz.  
Ví dụ: ta thành lập một hàm đổi độ sang radian  
function rad=change(do)  
rad=do*pi/180;  
% day la ham doi do sang radian.  
% doi do sang radian.  
Đặt tên file là change.m. Nếu ta đổi 45 độ sang radian, chỉ cần gõ:  
>> rad=change(45)  
Rồi nhấn Enter sẽ cho ta kết quả  
rad =  
0.7854  
Bây giờ ta thử tạo hàm giải phương trình bậc hai ax2 bx c 0, với tên  
file là bachai.m. Trong đó a, b, c được đưa vào khi gọi chương trình.  
function [x1,x2]=bachai(a,b,c)  
delta=b^2-4*a*c;  
x1=(-b-sqrt(delta))/(2*a); x2=(-b+sqrt(delta))/(2*a);  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 23  
Luận văn Thạc sĩ Toán học  
Hướng dẫn khoa học: PGS.TS Đặng Đức Trọng  
Khi chạy chương trình từ Command Windo, ta gõ  
>>[x1,x2]=bachai(4,6,-7)  
MATLAB sẽ chạy chương trình giải phương trình bậc hai với a=4, b=6,  
c=-7, và cho kết quả là  
x1=  
-2.2707  
x2=  
0.7707  
Ta cũng có thể lập hàm để giải phương trình bậc hai với các hệ số thay đổi  
được nhập từ bàn phím theo yêu cầu của từng phương trình.  
Để xem công dụng của một hàm số xyz (là hàm có sẵn trong thư viện hoặc  
do ta tự định nghĩa), ta vào cửa sổ làm việc và gõ help xyz rồi Enter. Ta sẽ được  
xem các chú thích trong file xyz.m.  
1.1.4 Biến số  
Các biến được ký hiệu bằng một ký tự hoặc 1 chuỗi ký tự. MATLAB phân  
biệt chữ thường và chữ hoa.  
Các biến thông thường được định nghĩa trong 1 file được gọi là biến địa  
phương (local variable). MATLAB cũng cho phép sử dụng một số biến toàn cục  
(global variable). Biến toàn cục xx phải được khai báo là global xx, trong tất cả  
các file mà xx xuất hiện, có một file định nghĩa xx, chẳng hạn gán xx=3.  
Biến i và j được mặc định là số ảo đơn vị (i^2=-1). Tuy nhiên, nếu ta dùng  
lệnh gán i=3 thì biến i sẽ mang giá trị 3.  
1.2. MỘT SỐ LỆNH CƠ BẢN  
Thư viện có sẵn của MATLAB rất phong phú và có thể tự học các lệnh  
trong MATLAB một cách dễ dàng bằng cách vào phần Help (hoặc bấm F1) của  
Học viên thực hiện: Nguyễn Văn Lâm  
Đề tài: GIẢI SỐ BẰNG MATLAB  
Trang 24  
Tải về để xem bản đầy đủ
pdf 204 trang myanh 21420 Free
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Giải số bằng Matlab", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfluan_van_giai_so_bang_matlab.pdf