intTypePromotion=1
ADSENSE

Giáo trình tính toán khoa học - Chương 1

Chia sẻ: Nguyen Thanhvan | Ngày: | Loại File: PDF | Số trang:21

231
lượt xem
71
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Rất nhiều năm kể từ những năm của thập kỷ 70 thế kỷ XX về trước, một kỹ sư khi tính toán thường sử dụng các bảng số, thước tính hoặc máy tính quay tay. Từ thập kỷ 70 cho đến những năm đầu thập kỷ 80 họ chuyển dần sang sử dụng các máy tính bỏ túi (calculator) và người ta xem đó như một cuộc cách mạng về công nghệ tính toán. Tuy nhiên với những công cụ thô sơ như vậy thì con người phải làm việc rất vất vả mà chỉ có thể giải được các bài toán cỡ nhỏ đến...

Chủ đề:
Lưu

Nội dung Text: Giáo trình tính toán khoa học - Chương 1

  1. MỤC LỤC Trang LỜI NÓI ĐẦU 6 8 Chương 1 MỞ ĐẦU VỀ TÍNH TOÁN KHOA HỌC 1.1 Mở đầu 8 1.2 Phân tích sai số 13 Bài tập 22 24 Chương 2 CƠ SỞ MATLAB Làm quen với Matlab 2.1 24 Những lệnh điều khiển chương trình 2.2 38 Nhóm lệnh Input/Output 2.3 48 2.4 Hàm trong MATLAB 50 Một số lệnh bổ trợ 2.5 55 Bài tập 60 62 Chương 3 GIẢI TÍCH MA TRẬN VÀ ĐẠI SỐ TUYẾN TÍNH Giải tích ma trận 3.1 57 Một số ma trận đặc biệt trong Matlab 3.2 72 Các phương pháp giải hệ phương trình tuyến tính 3.3 76 Ma trận suy biến và ma trận gần suy biến 3.4 87 Bài tập 90 93 Chương 4 TÍNH TRỊ RIÊNG VÀ VECTOR RIÊNG CỦA MA TRẬN 4.1 Mở đầu 93 3
  2. 4.2 Các phương pháp trực tiếp 94 4.3 Phương pháp lặp 100 4.4 Các hàm tính trị riêng của ma trận trong Matlab 102 Bài tập 109 111 Chương 5 NỘI SUY VÀ XẤP XỈ H ÀM 5.1 Nội suy bằng đa thức 111 5.2 Nội suy bằng Spline bậc 3 123 5.3 Xấp xỉ hàm 127 Bài tập 133 135 Chương 6 TÍNH VI PHÂN VÀ TÍCH PHÂN SỐ Tích phân số dựa trên đa h ức nội suy 6.1 135 Công thức ngoại suy Richardson 6.2 143 Tính tích phân bội 6.3 149 Tích phân ngẫu nhiên 6.4 151 Vi phân số dựa trên nội suy 6.5 157 Một số hàm tính vi phân của Matlab 6.6 159 Bài tập 163 165 Chương 7 GIẢI PHƯƠNG TRÌNH VÀ TỐI ƯU HÓA Giải phương trình 7.1 165 Giải hệ phương trình phi tuyến 7.2 178 Bài toán Tối ưu hóa 7.3 180 Qui hoạch tuyến tính 7.4 182 Qui hoạch toàn phương 7.5 197 Bài toán qui hoạch không ràng buộc 7.6 199 Bài tập 202 205 Chương 8 PHƯƠNG TRÌNH VI PHÂN THƯỜNG 8.1 Phương trình vi phân thư ờng và các phương pháp giải cơ b ản 205 8.2 Ứng dụng của phương trình vi phân 212 4
  3. 8.3 Giải ph ương trình với điều kiện biên. 223 Bài tập 226 228 Chương 9 ĐỒ HỌA TRONG MATLAB Đồ hoạ 2 chiều. 9.1 228 Đồ hoạ 3 chiều. 9.2 233 Ho ạt h ình 9.3 243 245 Chương 10 BIỂU DIỄN PHỔ 10.1 Biểu diễn phổ dữ liệu. 245 10.2 Tương quan giữa 2 chuỗi thời gian 246 250 TÀI LIỆU THAM KHẢO 5
  4. LỜI NÓI ĐẦU Rất nhiều năm kể từ những năm của thập kỷ 70 thế kỷ XX về trước, một kỹ sư khi tính toán thường sử dụng các bảng số, thước tính ho ặc máy tính quay tay. Từ thập kỷ 70 cho đến những năm đ ầu thập kỷ 80 họ chuyển dần sang sử dụng các máy tính bỏ túi (calculator) và n gười ta xem đó như một cuộc cách mạng về công ngh ệ tính toán. Tuy nhiên với những công cụ thô sơ như vậy th ì con người phải làm việc rất vất vả mà ch ỉ có thể giải được các b ài toán cỡ nhỏ đến trung bình với độ chính xác không cao. Trong khoảng thời gian đó máy tính điện tử (MTĐT) đã có nhưng vẫn chỉ là một thứ công cụ “xa xỉ”. Từ đ ầu thập kỷ 80 của thế kỷ XX đến nay, Công nghệ thông tin phát triển nhanh chóng và đi dần dần từ khoa học kỹ thuật vào đời sống hàng ngày. Tư duy và phương pháp làm việc của người kỹ sư cũng thay đổi một cách cơ bản. Sự bùng nổ thông tin khiến họ không th ể giải các bài toán khoa học kỹ thuật thực tế hiện đại mà không sử dụng MTĐT. Đây là kho ảng thời gian mà các công cụ Tính toán khoa học phát triển mạnh mẽ. Các ph ần mềm tin học đã trợ giúp cho các nhà nghiên cứu kinh tế, nghiên cứu xã h ội, kỹ sư, kiến trúc sư , b ác sỹ… giải quyết nhanh chóng và h iệu quả các công việc của họ. Cũng vì lý do nh ư trên mà nội dung của nhiều môn học truyền thống của các trường đại học cũng p hải thay đổi cả về phương pháp giảng dạy, phương pháp học tập, phương pháp nghiên cứu và thực hành. Cuốn sách này sẽ trình bày về Các phương pháp tính toán số. Đây chỉ là một khía cạnh nghiên cứu của Tính toán khoa học. Mục đích của cuốn sách là dùng làm tài liệu giảng dạy, học tập, nghiên cứu và tham khảo cho sinh viên đại học và học viên cao học ngành CNTT và các ngànhkỹ thuật. Nội dung từng chương mục của cuốn sách cố gắng được giới thiệu n gắn gọn theo cấu trúc: giới thiệu bài toán, cơ sở lý thuyết, ứng dụng thực tiễn, các phương pháp toán học và sử dụng các công cụ đã có trong Matlab để giải bài toán đặt ra. Các bài tập trong các chương cũng đư ợc chia làm 2 lo ại: một loại yêu cầu học viên sử dụng các h àm đã cài đặt sẵn của Matlab để giải các bài toán cụ thể, một loại khác lại yêu cầu học viên cài đặt chương trình để giải các bài toán tổng quát theo các phương pháp toán học đ ã được giới thiệu . 6
  5. Do hạn chế về không gian và thời gian nên chúng tôi đ i sâu về việc trình bày các công thức và phương pháp cài đặt chương trình tính toán và ít trình bày các chứng minh của đ ịnh lý và công thức. Nếu muốn tìm hiểu kỹ hơn về điều này, b ạn đọc cần đọc thêm những giáo trình về giải tích số. Đây là lần xuất bản đầu tiên nên trong cuốn sách không thể tránh được một số thiếu sót về nội dung và chế bản. Rất mong nhận được những góp ý chân tình và thẳng thắn của bạn đọc. Để ho àn thành giáo trình này tôi xin chân thành cảm ơn sự giúp đỡ của PGS-TS Nguyễn Đức Nghĩa và nh ững gợi ý bổ ích của PGS-TS Tô Văn Ban; Đồng thời tôi cũng xin cảm ơn sự giúp đỡ, khích lệ, đọc b ản thảo và đóng góp ý kiến của các Giáo sư, Tiến sỹ và giảng viên Bộ môn Toán, Khoa CNTT Học viện Kỹ thuật Quân sự. Tác giả 7
  6. Chương 1 MỞ ĐẦU VỀ TÍNH TOÁN KHOA HỌC 1.1 MỞ ĐẦU 1.1.1 K hái niệm về Tính toán khoa học Tính toán khoa học (TTKH) đã trở th ành lĩnh vực nghiên cứu phổ biến và phát triển mạnh trong suốt hàng chục năm qua. Có rất nhiều định nghĩa và khái niệm về TTKH theo các khuynh hư ớng phát triển khác nhau của nó, tu ỳ thuộc vào từng lĩnh vực nghiên cứu và sự phát triển của công cụ ứng dụng. Đây là một lĩnh vực đang phát triển rất nhanh, cho n ên một định nghĩa lúc n ày được coi là hợp lý th ì chẳng bao lâu nó trở nên lạc hậu do các thuật toán, lĩnh vực ứng dụng và cấu trúc máy tính liên tục được cải tiến. Có th ể nêu một định nghĩa khá tổng quát về TTKH và cũng d ễ được chấp nhận như sau: Tính toán khoa học là một môn khoa học sử dụng máy tính điện tử và các thuật toán số theo một phương pháp hiệu quả để giải các bài toán khoa học, k ỹ thuật và kinh tế có kích thước lớn. Người ta nói rằng TTKH là sự giao thoa của Toán học, Công nghệ thông tin và các ngành khoa học ứng dụng. 1.1.2 Phương pháp nghiên cứu TTKH Trước hết cần phải phân tích kỹ lưỡng những ứng dụng của các công cụ tính toán số và công cụ tính toán ký hiệu. Trong các nghiên cứu ứng dụng, cần xem xét ch ỗ n ào thì các công cụ tính toán cổ điển nh ư phương pháp giải tích phù h ợp hơn và chỗ nào thì cần phải sử dụng phương pháp tính số. Nội dung giáo trình sẽ giới thiệu ngắn gọn cơ sở lý thuyết của các phương pháp số , các thu ật toán dùng để tính toán chúng, các hàm nội trú của Matlab phục vụ cho việc tính toán và k ỹ thuật cài đặt hàm Matlab theo các thuật toán đã nghiên cứu. Giáo trình không sử dụng các công cụ toán học nào quá phức tạp ngoài các phương pháp tính toán giải tích và đại số tuyến tính quen thuộc. Tuy nhiên n gười đọc cũng cần nắm được các kiến thức cơ b ản về lý thuyết p hương trình vi phân th ường. 8
  7. Phương pháp nghiên cứu của bất k ỳ một lĩnh vực tính toán khoa học nào cũng được mô tả khái quát n hư trong Hình 1.1. Có th ể diễn giải sơ đồ trong Hình 1.1 như sau. Đầu tiên ta nghiên cứu b ài toán thực tế cần ph ải giải quyết. Trong hầu hết các trư ờng hợp, bài toán được đặt ra ban đ ầu phụ thuộc vào rất nhiều tham số và các yếu tố ngẫu nhiên, cho nên không thể có một ph ương pháp giải đ ược b ài toán trong trường hợp hoàn toàn tổng quát. Để xây dựng được mô hình bài toán, cần phải bổ sung các giả thiết hợp lý và hiệu quả cho mốt số tham số thích hợp nhất; đồng thời cũng cần phải xấp xỉ một số yếu tố trong xây d ựng cấu trúc của b ài toán. Bài toán Các giả thiết Mô hình Xấp xỉ hoá Phương pháp số Thu ật toán Phương pháp kí hiệu Kết quả Kiểm tra Biểu diễn H ình 1.1. Mô hình tính toán khoa học Kết quả là xây dựng đ ược mô h ình của bài toán gốc với những đặc trưng quan trọng nhất. Sau công việc đơn giản hoá này, hãy cố gắng tìm phương pháp hiệu quả để giải b ài toán mô hình với sự trợ giúp của MTĐT. Giáo trình sẽ trình bày một số phương pháp tính toán cơ bản. Trong đó, có nhiều phương pháp khá hiệu quả cho những bài toán có cấu trúc đặc biệt. Nói chung, có hai k ỹ thuật tính toán được sử dụng chủ yếu là: - Phương pháp tính toán kí hiệu (Symbolic computations): Cần thiết cho việc mô tả các đặc trưng liên tục của b ài toán mô hình. - Phương pháp tính toán số (Numeric computations): Biểu diễn hàm liên tục bởi tập hợp d ữ liệu rời rạc để xử lý trên MTĐT. 9
  8. Sau khi đã chọn thuật toán và phương pháp giải thích hợp cho b ài toán của mô hình, thực hiện các thuật toán ta sẽ nhận được các kết quả. Đây là kết quả giải được của bài toán mô hình. Vì thế các kết quả n ày phải được kiểm tra để bảo đảm rằng chúng hoàn toàn đúng đắn và phù h ợp với bài toán gốc được đ ặt ra từ thực tế. Nếu chúng chưa phù h ợp thì cần phải tìm hiểu xem nguyên nhân là do mô hình được xây dựng chưa hợp lý hay do thuật toán được chọn sai. Việc đánh giá sai số của kết quả đ ã tính được và những phương pháp “tính toán ngược” rất cần thiết trong trường hợp n ày. Sau khi đ ã b ảo đảm rằng các kết quả là hoàn toàn đúng đắn và phù h ợp với bài toán, ta có thể thông báo hay trình bày kết quả dưới dạng: báo cáo kĩ thuật, đồ họa, quảng cáo h ay bài báo khoa học... Tron g các chương mục của giáo trình, chúng tôi tập trung trình bày : - Cơ sở toán học của các phương pháp tính toán số sử dụng cho các b ài toán được nghiên cứu; - Khai thác sử dụng các thuật toán từ các gói phần mềm tính toán số và tính toán kí hiệu; - Qu ản lí dữ liệu và biểu diễn kết quả. 1.1.3 Quan hệ giữa các phương pháp tính rời rạc và liên tục Nhiều khái niệm trong toán học cổ điển được định nghĩa bởi những quá trình giới hạn. Chẳng hạn, đ ạo hàm của một hàm số f(x) được định nghĩa bởi giới hạn: f ( x  h)  f ( x ) df ( x) .  lim dx h h0 Tương tự, tích phân xác định (tích phân Riemann) của một hàm số cũng được định nghĩa bởi giới hạn: b-a h f (a  kh)h .  I  lim h  0 k 1 Tuy nhiên, MTĐT lại không thể đánh giá được các giới hạn, ngay cả giới x 2 sin x , hạn khi x tiến dần đến 0 của các biểu thức đ ơn giản nh ư: ,... Thậm chí, x x các biểu thức đó cũng không thể tính được trên MTĐT với x=0. 10
  9. Vì vậy người ta thường xấp xỉ hoá các giới hạn từ chính các biểu thức lấy giới hạn, ch ẳng hạn với cách chọn h đủ nhỏ để xấp xỉ hoá giá trị thực của đạo hàm ho ặc tích phân xác định. Công việc đó chỉ thực sự có ý ngh ĩa khi ta biết được giới hạn đó hội tụ và có thể đánh giá đ ược sai số của nó. Lĩnh vực nghiên cứu của giải tích số bao gồm cả việc xây dựng, lẫn việc đánh giá hiệu quả của các thuật toán để xấp xỉ các giới hạn liên tục theo một cách tốt nhất có thể đư ợc. Việc khẳng định được tính chắc chắn và ổn định của các quá trình giới hạn đóng vai trò to lớn trong việc này. Để dễ dàng nghiên cứu giáo trình này b ạn đọc n ên đọc th êm các giáo trình về giải tích số. Như vậy, các phương pháp toán học rời rạc (phương pháp số) và các phương pháp toán học liên tục (ph ương pháp giải tích) là hai lĩnh vực nghiên cứu khác nhau nhưng hỗ trợ cho nhau trong việc giải quyết các bài toán thực tế. Sau đây chúng tôi sẽ trình bày m ột thí dụ minh họa về phương pháp nghiên cứu TTKH: m ô tả mối quan hệ giữa phát biểu về mặt toán học của các bài toán, bao gồm cả những giả thiết hợp lý được sử dụng trong các mô hình thực tế, những công cụ giải tích cho một số trường hợp, các giả thiết nhằm đơn giản hoá bài toán và các phương pháp số dùng để giải b ài trong trường hợp tổng quát. Cuối cùng chúng ta sẽ quan sát kết quả tính toán được dưới một trong hai dạng tĩnh ho ặc động. Phương pháp tiếp cận của TTKH nói chung là đa nguyên tắc. Chúng bao gồm nhiều kĩ thuật tính toán và phương pháp toán học, từ giải tích tiệm cận đến các sơ đồ tính toán số, từ phương pháp tính toán song song đến sự vận dụng tính toán kí hiệu. Đầu tiên chúng tôi trình bày các công cụ và kỹ thuật cơ bản trong TTKH bằng cách minh hoạ bằng các b ài toán cỡ nhỏ (Small-Scale). Điều đó có vẻ như mâu thu ẫn với ý nghĩa cơ b ản của định nghĩa về TTKH đ ược nêu ở trên. Tuy nhiên ở đây chúng tôi muốn minh hoạ các kĩ thuật tính toán cho một số công việc cụ thể còn hơn để bạn đọc bị choáng ngợp vì kích thước lớn của bài toán. Cũng cần phải nói thêm rằng, có nhiều bài toán cỡ lớn đòi hỏi những công cụ và các phương pháp giải đặc biệt phù hợp với kích cỡ của chúng (chẳng hạn, các thu ật toán lặp cho ma trận cỡ lớn). Những vấn đề như vậy vượt quá phạm vi nghiên cứu của giáo trình này. Vì vậy, ta nên áp dụng phương pháp tiếp cận đa nguyên tắc và khai thác các kỹ năng giải bài toán bằng cách bắt đầu từ các b ài toán đáng quan tâm với kích thước vừa và nhỏ. 11
  10. Bây giờ ta n ghiên cứu dáng điệu của các đường cong traction được cho bởi phương trình vi phân : a2  x2 dy ,  dx x trong đó a là m ột số thực cụ thể. Đây là một bài toán khá khó. Nếu sử dụng công cụ tính toán kí hiệu trong Maple để lấy tích phân biểu thức này ta sẽ đ ược kết quả dưới dạng biểu thức giải tích: a2  x2  a2  x2 . y  a.arcth a a2  x2  a 2  x 2 với a =5. H ình 1.2 Đồ thị hàm số y  a.arcth a Nói chung, phương trình vi phân mô tả họ đường cong traction có dạng: y2  y ( x)2  a 2 . 2  dy    dx  Chúng có thể giải được bằng công cụ giải tích dưới dạng đóng. Lời giải của bài toán sẽ tìm được dưới dạng hàm ẩn là: a 2  y ( x)2  a 2  y( x)2  x  0 a.arcth a 12
  11. 1.2 PHÂN TÍCH SAI SỐ 1.2.1 Khái niệm về sai số Trong tính toán chúng ta thường làm việc với giá trị xấp xỉ của các đ ại lượng. Do đó việc nghiên cứu sai số của các đại lượng là cần thiết và được đặt ra đầu tiên.  Số xấp xỉ Giả sử một đại lượng có giá trị đúng là A. Tuy nhiên, nhiều khi ta không th ể biết đư ợc chính xác giá trị thực của A. Cho nên khi tính toán và b iểu diễn số A ta thường thay A b ởi giá trị gần đúng của nó là a. Khi đó ta gọi a là số xấp xỉ của A và viết: aA Người ta sử dụng số xấp xỉ trong các tính toán do các nguyên nhân: - Không th ể biết giá trị chính xác của A; - Số chữ số của A quá lớn, tốn rất nhiều công tính toán m à hiệu quả kinh tế không cao hơn bao nhiêu. Tuy nhiên, cần phải đánh giá được ảnh h ưởng của các số xấp xỉ trong tính toán nhằm tránh các “tổn thất” không đáng có trong các bài toán ứng dụng trong thực tế.  Sai số tuy ệt đối Người ta gọi a  A là sai số tuyệt đối của a . Trong đa số các trường hợp số A chưa biết nên a  A cũng không tính được. Vì vậy người ta thư ờng đánh giá sai số tuyệt đối bởi một số dương a thoả mãn: a  A  a . (1.1) a được gọi là sai số tuyệt đối giới hạn của a . Như vậy, n ếu a là một sai số tuyệt đối giới hạn củ a thì một số  a cũng là một sai số tuyệt đối giới hạn. Vì thế cần ước lượng a sao cho nó càng nhỏ càng tốt. Từ (1.1) ta có: a  a  A  a  a hoặc có thể viết là: A  a  a (1.2) 13
  12. Do th ực tế ta chỉ xét ta sai số tuyệt đối giới hạn, nên khi nói về sai số tuyệt đối giới hạn ta chỉ cần nói gọn là sai số tuyệt đối. Sai số tuyệt đối của số a không cùng th ứ nguyên với a . Điều đó hạn chế việc so sánh chất lượng sai số của các đại lượng khác nhau.  Sai số tương đối a Đại lượng: (1.3) a  a được gọi là sai số tương đối (giới hạn) của số a. Khi đó a =|a|a. Do (1.2) và (1.3) nên ta cũng có thể viết: A  a(1   a ) . Sai số tương đối là đ ại lượng không có thứ nguyên nên có thể dùng để đánh giá và so sánh ch ất lượng sai số của các đại lượng khác nhau.  Sai số qui tròn Khi tính toán với một số thập phân có quá nhiều chữ số, người ta thường bỏ bớt đi một số chữ số ở cuối cho gọn. Việc đó được gọi là qui tròn số a thành số a’. Sai số tuyệt đối do qui tròn được gọi là sai số tuyệt đối qui tròn và được kí hiệu là:  a '  a ' a . Để sai số qui tròn không vượt quá 1/2 đơn vị của h àng th ập phân đ ược giữ lại cuối cùng, người ta phải căn cứ vào chữ số bỏ đi đầu tiên là lớn hơn hay nhỏ hơn 5. Nếu nó lớn hơn hoặc bằng 5 thì cần phải cộng thêm 1 vào chữ số được giữ lại cuối cùng. Thí dụ 1. Qui tròn số 15,67528 với 4 chữ số lẻ thập phân thành 15,6753 ; Qui tròn số =3,141592… với 2 chữ số lẻ thập phân thành 3,14 . Do đó có thể viết : =3,14 0,16.  Sai số của số đã qui tròn Từ các khái niệm về sai số qui tròn ta có: a  A  a và  a '  a' a . Do đó a ' A  a ' a  a  A   a '   a . 14
  13. a'   a '  a . Vì vậy ta có th ể viết: Bất đ ẳng thức trên cho th ấy rằng a '   a . Như vậy việc qui tròn một số làm cho sai số của nó lớn lên. Trong một giây MTĐT có thể thực hiện h àng tỷ phép tính số học, kết quả của hầu hết các phép tính đó đều đ ược qui tròn với một độ chính xác nhất định. Do đó sai số của kết quả cuối cùng là sự tích lũy sai số củ a các phép toán trung gian. Chúng ta h ãy khảo sát ảnh hưởng của sai số qui tròn đến kết quả cần tính toán qua thí dụ minh họa sau đ ây: 10   Thí dụ 2. Để tính giá trị của biểu thức ta có 2 cách tính: 2 1 - Chọn xấp xỉ của 2 rồi tính trực tiếp theo công thức: 10   =    2 1 ; 2 1 2 1 2  1 ... - Chọn xấp xỉ của 2 rồi tính thông qua khai triển Nhị thức Newton : 10    3363  2378 2 . 2 1 Vì 2 là số vô tỷ nên cần phải được qui tròn trước khi tính b iểu thức. Để thấy sự ảnh hưởng của qui tròn trong quá trình tính toán ta sẽ tính biểu thức với 4 giá trị xấp xỉ khác nhau của 2 và sử dụng hai cách tính trên rồi so sánh kết quả thu được: 10 3363  2378 2   2 Số xấp xỉ của 2 1 1,4 0 ,0001048576 33,8 1,414 0,00014791200060 0,508 1 ,41421 0,00014866399378 0,00862 1,414213563 0,00014867678222 0,000147186 Rõ ràng là kết quả của hai cách tính rất khác nhau. Cách tính thứ h ai đ ơn giản nhưng lại cho sai số khá lớn. Thí dụ trên cho ta th ấy sai số qui tròn có thể gây ra sai số tuyệt đối rất lớn cho kết quả tính toán của một bài toán. Trong thực tế ứng dụng, nhiều dự án lớn đã bị trả giá đắt do sai số qui tròn gây ra. 15
  14. 1.2.2 Chữ số có nghĩa Một số thập phân đư ợc viết ra bởi nhiều chữ số. Các chữ số kể từ chữ số khác 0 đ ầu tiên tính từ trái qua phải là chữ số có nghĩa. Thí dụ 3. Số -2,780 có 4 chữ số có nghĩa là 2, 7, 8, 0; Số 0,002780060 có 7 chữ số có nghĩa là 2, 7, 8, 0, 0, 6, 0. 1.2.3 Chữ số đáng tin Một số thập phân a đ ược viết dưới dạng: a =   as10 s , trong đó s là một số nguyên và as{0,1,2,3,...,9}. s Chẳng hạn n ếu: a = -3,1416 = -(3.100 + 1.10-1+ 4.10-2 + 1 .10 -3 + 6.10-4) thì a0 =3, a-1 = 1, a-2 = 4 , a-3 = 1, a-4 = 6 . Nếu a  0,5.10s thì as là chữ số đáng tin, ngư ợc lại a s là chữ số đáng ngờ. Chữ số đáng tin là những chữ số “chắc chắn” của số A, còn những chữ số đáng ngờ có thể do sai số sinh ra. Thí dụ 4. Cho a = 2,71835. - Nếu a=0,00045 (< 0,5 .10-3) thì 2, 7, 1, 8 là các chữ số đáng tin; Còn 3 và 5 là các chữ số đáng ngờ. Chẳng hạn, A có thể chính xác là A=2,71861. - Nếu a = 0 ,00068 (< 0,5.10-2) thì 2, 7, 1 là các chữ số đáng tin; Còn 8, 3 và 5 là các chữ số đáng ngờ. Chẳng hạn, A có thể chính xác là A =2,71902 . 1.2.4 Độ chính xác của máy tính Với chuẩn IEEE độ chính xác đơn (=2, n=24) thì =2 -24=0,5960×10-7. Nghĩa là khi tính toán với số thực dấu phảy động, kết quả có 23 chữ số nhị phân có nghĩa, tương tương với 7 chữ số có n gh ĩa trong hệ thập phân. Với chuẩn IEEE độ chính xác kép (=2, n=53) thì =2 -53=1,1102×10-16. Nghĩa là khi tính toán với số thực dấu phảy động, kết quả có 53 số chữ nhị phân có nghĩa, tương tương với 16 chữ số có nghĩa trong hệ thập phân. 1.2.5 Hiện tượng tràn số  Hiện tượng tràn số lớn (overflow): xảy ra khi số thu được là quá lớn đối với giới hạn lưu trữ của hệ số thực dấu phảy động đang sử dụng. Khi xảy ra hiện tượng n ày thông thường các máy tính đều thông báo lỗi (Matlab không thông báo lỗi mà gán cho số giá trị inf và tiếp tục thực hiện tính toán). 16
  15.  Hiện tượng tràn số nhỏ (underflow): xảy ra khi số thu được là quá nhỏ đối với giới hạn lưu trữ của hệ số thực dấu phảy động đang sử dụng. Khi xảy ra hiện tư ợng này thông thường các máy tính không thông báo lỗi và gán cho số giá trị 0 và tiếp tục thực hiện tính toán. 1.2.6 Cách viết một số xấp xỉ  Cách viết 1 Viết số a cùng với sai số tuyệt đối hoặc sai số tương đối của nó: A  a  a ho ặc A  a (1   a ) . Với cách viết này, khi tính toán với các số xấp xỉ ta phải tính toán với cả sai số của chúng. Điều này sẽ gây phiền phức, không thuận tiện cho tính toán các biểu thức phức tạp .  Cách viết 2 Chỉ viết các ch ữ số đáng tin. a=-3,1416 được hiểu là A=-3,1416  0,5.10 -4 h ay Thí dụ 5. a=2,78000 được hiểu là A=-2,78000  0,5.10-5 . Với cách viết này thì việc tính toán với các số xấp xỉ sẽ thuận tiện h ơn nhiều cho việc tính toán. Tuy nhiên sau khi tính toán xong, ta cần phải đánh giá sai số của kết quả cuối cùng. 1.2.7 Qui tắc tính sai số Cho hàm số u =f(x1, x2,...,xn) là hàm khả vi. Giả sử ta b iết sai số của các đối số: xj , j=1,2,…,n và cần lập công thức tính sai số của hàm.  Sai số của tổng: u= x+y Từ u = x+y và u  u  ( x  x)  ( y  y ) ta suy ra : | u  x  y  x  y | hay   x  y   x  y . (1.4) Tương tự ta cũng có công thức tính sai số của hiệu:   x  y   x  y . (1.5)  Sai số của một tích: u=xy Từ u= xy và u  u  ( x  x )( y  y ) ta suy ra : | u  xy  yx  xy  xy  yx |  | xy | . 17
  16. Do sai số là những đ ại lượng được xem là rất bé nên có th ể bỏ qua số hạng vô cùng bé bậc cao xy. Vì thế có thể viết: u    xy  | x y  y x , (1.6) ( xy ) x y   x  y . (1.7)  ( xy)    xy x y Từ trên dễ dàng suy ra công thức tính sai số trong trường hợp tổng quát. Đó là các công th ức tính sai số cần ghi nhớ: f xi , (1.8) u   i xi xy=(x/y)=x+y và xn=n.x. (1.9) Thí dụ 6. Hãy tính sai số tuyệt đối và sai số tương đối của thể tích hình cầu 1 được tính theo công thức V   d 3 , trong đó d=3,7 cm. 6 Giải. Từ đầu bài ta có d = 0,05 cm. Nếu ta lấy  =3,14 thì  = 0,0016. Từ đó ta tính được: 1 V=  d 3 = 26,5 cm; 6 0, 0016 0, 05 v = +3d =  0, 04 ;  3. 3,14 3, 7 v=Vv =26,5.0,4  1,1 (cm3) . Vậy V=26,51,1 (cm3). 1.2.8 Bài toán ngược của lí thuyết sai số Cho hàm số u=f(x1, x2,...,xn) là hàm khả vi. Cần ph ải chọn các sai số xi, i=1,2,…,n b ằng bao nhiêu để u ≤M (M là hằng số cho trước). Để giải bài toán này ta có th ể sử dụng một trong các nguyên lí ảnh hưởng đều sau đây: f xi = c, i= 1, n ( với c là hằng số) thì từ (1.8)  Nguyên lý 1 . Nếu coi xi thì ta có: f xi  nc . u   xi i 18
  17. c M Vậy : , i  1, n . (1.10) xi   f f n xi xi  Nguyên lý 2. Nếu coi xi = c, i=1, n (với c là hằng số) thì từ (1.8) ta có: u M , i  1, n . (1.11) xi   f f  x  x i i i i  Nguyên lý 3. Nếu coi xi=c, i=1, n (với c là h ằng số) th ì từ (1.8) ta có: xi u M f . hay c   xi    u  c  xi xi xi f f i  x j x  x j x j j j j xi M Từ đó suy ra: , i  1, n . (1.12) xi  f  x j x j j Thí dụ 7. Một hình trụ có b án kính đáy R=2 m và chiều cao h=3 m. Hỏi các sai số R và h tối đa bằng bao nhiêu để thể tích V của hình trụ được tính chính xác tới 0,1 m 3. Giải. Công thức tính thể tích hình trụ là V=R2h. Để tính toán các sai số, có th ể áp dụng nguyên lí ảnh hưởng đều thứ nhất. 0,1 V =R2h =12 (m 3), suy ra  = < 0,003.  3.12 Do đó có th ể lấy  =3,14. 0,1 V =2Rh =37,7 , suy ra R = < 0,001 (m). R 3.37,7 0,1 V = R =12,6 , suy ra h = < 0,003 (m). h 3.12,6 1.2.9 Phương pháp biên Giả sử y =f(x1, x2,...,xn) là hàm đồng biến đối với p b iến đầu tiên x1, x2,...,xp và nghịch biến đối với n-p biến cuối cùng xp+1, xp+2,...,xn trong hình hộp chữ nhật x i  xi  xi với i =1, n . Khi đó: y  f ( x1 , x 2 ,..., x p , x p 1 , x p  2 ,..., x n )  y  f ( x1 , x 2 ,..., x p , x p 1 , x p  2 ,..., x n )  y . 19
  18. Và d o đó ta có đánh giá sai số: y  y  y . 1.2.10 Sai số tính toán và sai số phương pháp Trong quá trình tính toán, ta thường làm tròn các kết quả tính toán trung gian. Sai số của kết quả cuối cùng được sinh ra do nhiều lần qui tròn đó gọi là sai số tính toán. Khi cần giải một bài toán phức tạp, người ta thường tìm cách thay bài toán gốc đã cho bởi một b ài toán đơn giản và d ễ tính toán hơn cho việc tính bằng tay hay b ằng MTĐT. Việc thay đổi b ài toán như vậy sẽ gây ra một sai số. Sai số này được gọi là sai số phương pháp. Sai số của kết quả cuối cùng là tổng hợp của hai loại sai số trên. Sau đây là các thí d ụ minh hoạ cho sai số tính toán và sai số phương pháp: Thí dụ 8. Hãy tính tổng 1 1 1 1 1 1 . A      3 3 3 3 3 63 1 2 3 4 5 Giải. Ta tính trực tiếp từng số hạng, rồi cộng kết quả lại. Khi đó sẽ không có sai số phương pháp: 1 1 = 0,016 , 4 = 4.10-4; = 1,000 , 1 = 0; 13 3 4 1 1 3 = 0; = 0,008 , 5 = 0; = 0,125 , 23 53 1 1 3 = 1.10-4; 6 = 4 .10-4. = 0,037 , =0,005 , 3 3 3 6 Cuối cùng ta được: a =0,899 và | a-A|  1 +  2 +  3 + 4 + 5 + 6 = 9.10-4. A = 0,899  9.10-4. Vì vậy 1 Trong các biểu thức trên,  i là sai số qui tròn của phép tính . i3 Thí dụ 9. Hãy tính tổng của chuỗi 1 1 1 1  ...  (1)n 1 B    ... 3 3 3 n3 1 2 3 với sai số tuyệt đối không quá 5.10-3. 20
  19. Giải. Vế phải của biểu thức là một chuỗi đan dấu hội tụ, do đó B tồn tại. Tuy nhiên không thể tính B một cách trực tiếp. Vì vậy, thay cho việc tính B ta tính giá trị của biểu thức: 1 1 1 1  ...  (1)n 1 . Bn    3 3 3 n3 1 2 3 Việc tính Bn đ ơn giản hơn tính B, nhưng khi đó ta sẽ mắc một sai số phương pháp là B  Bn . Để việc tính toán đảm bảo độ chính xác đã đặt ra cần phải chọn n sao cho sai số B  Bn
  20. BÀI TẬP 1. Định nghĩa sai số tuyệt đối, sai số tương đ ối. Tính sai số tương đối khi biết sai số tuyệt đối các giá trị: a = -5,56921, a =0,04555; b = 25,432 m2, b =3,65 cm 2; c = 32016’35”, c = 1,5 0. 2. Tính sai số tuyệt đối khi biết sai số tương đối của các giá trị: a = 122,5216 , a=0,04; b = 334,564 m 2, b=0,006 ; c =102036’12”, c = 0 ,8%. 3. Định nghĩa sai số qui tròn.Hãy qui tròn các số sau đây đến 6 chữ số có nghĩa rồi tính sai số tuyệt đối và sai số tương đối của chúng. a =-15,58810018 , b =125,4305172 7, c=0,00134056452 , d =- 0,01000010035. 4. Th ế n ào là chữ số có nghĩa, chữ số đáng tin. Xác định số chữ số đáng tin của các số sau: a = -15,5881001 với a =0,545; b = 125,4305172 với b =3,65 ; c = 0,0134056452 với c =0,05; d = -0,010210035 với d = 0,006 . 5. Cho biết các số a, b và các sai số a,b. Hãy tính sai số tuyệt đối và sai số tương đối của các biểu thức: a) u = a +b; b) x = a -b; d) z =a/b với b≠0 . c) y = a .b; 6. Tính giá trị, sai số tương đối và sai số tuyệt đối của các biểu thức sau đây với các biến trong biểu thức đ ược cho với mọi chữ số có nghĩa đều đáng tin: a = ln (x2 +2y) với x=0,65 và y=2,345. a) x2  3 y với x= 1,6; y= 1,3 và z=12,341. b) b= 2z 7. Tính xấp xỉ giá trị của arctg0,8 với sai số tuyệt đối 10 -5. 22
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2