Tải bản đầy đủ (.pdf) (21 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (332.62 KB, 21 trang )


3


MỤC LỤC


Trang
LỜI NÓI ĐẦU 6

Chương 1
MỞ ĐẦU VỀ TÍNH TOÁN KHOA HỌC
8

1.1

Mở đầu
1.2 Phân tích sai số
Bài tập
8

13

22

Chương 2
CƠ SỞ MATLAB
24

2.1


Làm quen với Matlab
2.2 Những lệnh điều khiển chương trình
2.3 Nhóm lệnh Input/Output
2.4 Hàm trong MATLAB
2.5 Một số lệnh bổ trợ
Bài tập
24

38

48

50

55

60

Chương 3
GIẢI TÍCH MA TRẬN VÀ ĐẠI SỐ TUYẾN TÍNH
62

3.1

Giải tích ma trận
3.2 Một số ma trận đặc biệt trong Matlab
3.3 Các phương pháp giải hệ phương trình tuyến tính
3.4 Ma trận suy biến và ma trận gần suy biến
Bài tập
57


72

76

87

90

Chương 4
TÍNH TRỊ RIÊNG VÀ VECTOR RIÊNG CỦA MA TRẬN
93

4.1 Mở đầu 93


4
4.2 Các phương pháp trực tiếp
4.3 Phương pháp lặp
4.4 Các hàm tính trị riêng của ma trận trong Matlab
Bài tập
94

100

102

109

Chương 5

NỘI SUY VÀ XẤP XỈ HÀM
111

5.1

Nội suy bằng đa thức
5.2 Nội suy bằng Spline bậc 3
5.3 Xấp xỉ hàm
Bài tập
111

123

127

133

Chương 6
TÍNH VI PHÂN VÀ TÍCH PHÂN SỐ
135

6.1

Tích phân số dựa trên đa hức nội suy
6.2 Công thức ngoại suy Richardson
6.3 Tính tích phân bội
6.4 Tích phân ngẫu nhiên
6.5 Vi phân số dựa trên nội suy
6.6 Một số hàm tính vi phân của Matlab
Bài tập

135

143

149

151

157

159

163

Chương 7
GIẢI PHƯƠNG TRÌNH VÀ TỐI ƯU HÓA
165

7.1

Giải phương trình
7.2 Giải hệ phương trình phi tuyến
7.3 Bài toán Tối ưu hóa
7.4 Qui hoạch tuyến tính
7.5 Qui hoạch toàn phương
7.6 Bài toán qui hoạch không ràng buộc
Bài tập
165

178


180

182

197

199

202

Chương 8
PHƯƠNG TRÌNH VI PHÂN THƯỜNG
205

8.1

Phương trình vi phân thường và các phương pháp giải cơ bản
8.2 Ứng dụng của phương trình vi phân
205

212


5
8.3

Giải phương trình với điều kiện biên.
Bài tập
223


226

Chương 9
ĐỒ HỌA TRONG MATLAB
228

9.1

Đồ hoạ 2 chiều.
9.2 Đồ hoạ 3 chiều.
9.3 Hoạt hình
228

233

243

Chương 10
BIỂU DIỄN PHỔ
245

10.1 Biểu diễn phổ dữ liệu.
10.2 Tương quan giữa 2 chuỗi thời gian

245

246



TÀI LIỆU THAM KHẢO

250










6

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à 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 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à hiệ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 phả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 ngắ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.

7
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ả

8

Chương 1
MỞ ĐẦU VỀ TÍNH TOÁN KHOA HỌC
1.1 MỞ ĐẦU
1.1.1 Khá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 người đọc cũng cần nắm được các kiến thức cơ bản về lý thuyết phương
trình vi phân thường.

9
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 như 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.













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.
Bài toán
Mô hình
Thuật toán
Kết quả
Biểu diễn
Các giả thiết
Xấp xỉ hoá
Phương pháp số
Phương pháp kí hiệu
Kiểm tra

10
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 hay bài báo khoa học
Trong 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:

0
( ) ( ) ( )
lim
h
df x f x h f x
dx h

 

.
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
0
k 1

I ( )
lim
h
h
f a kh h


 

.
Tuy nhiên, MTĐT lại không thể đánh giá được các giới hạn, ngay cả giới
hạn khi x tiến dần đến 0 của các biểu thức đơn giản như:
x
x

x
x sin
,
2
, Thậm chí,
các biểu thức đó cũng không thể tính được trên MTĐT với x=0.

11
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ỏ.

12
Bây giờ ta nghiê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 :
2 2
dy a x
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:
2 2
2 2
.
a x
y a arcth a x
a

  
.

Hình 1.2 Đồ thị hàm số
2 2
2 2
.
a x
y a arcth a x
a

  
với a =5.


Nói chung, phương trình vi phân mô tả họ đường cong traction có dạng:
2
2 2
2
( )
y
y x a
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à:
2 2
2 2
( )
. ( ) 0
a y x
a arcth a y x x
a

   


13
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à biể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)

14
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
Đại lượng:
a
a
a


 (1.3)
đượ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:

(1 )
A a 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à aa
a
 '
'

.
Do đó
aAaaaAa
a

'
''


.

15
Vì vậy ta có thể viết:
a'
a' a
  
 
.
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:
Thí dụ 2. Để tính giá trị của biểu thức


10
2 1

ta có 2 cách tính:
- 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
2 1 3363 2378 2
  
.

2
là số vô tỷ nên cần phải được qui tròn trước khi tính biể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:
Số xấp xỉ của
2



10
2 1


3363 2378 2

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ứ hai đơ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.

16
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 =
10
s
s
s
a

, trong đó s là một số nguyên và a
s
{0,1,2,3, ,9}.
Chẳng hạn nếu:
a = -3,1416 = -(3.10
0
+ 1.10
-1
+ 4.10
-2
+ 1.10
-3
+ 6.10
-4
)
thì a
0
=3, a
-1
= 1, a
-2
= 4, a

-3
= 1, a
-4
= 6.
Nếu

a  0,5.10
s
thì a
s
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ó nghĩ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).

17
 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
(1 )
A a 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.
Thí dụ 5. a=-3,1416 được hiểu là A=-3,1416  0,5.10
-4
hay
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(x
1
, x
2
, ,x
n
) là hàm khả vi. Giả sử ta biết sai số của các đối
số:


x
j
, 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
              


18
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
xy x y
xy x y
  
  
     . (1.7)
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ớ:

i
i
i
f
u x
x

  


, (1.8)


xy=

(x/y)=

x+

y và

x
n
=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

được tính theo công thức
3
1
6
V d

 , trong đó d=3,7 cm.
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:
V=
3
1
6
d

= 26,5 cm;

v =

 +3

d =
0,0016 0,05
3. 0,04
3,14 3,7
  ;


v=V

v =26,5.0,4

1,1 (cm
3
) .
Vậy V=26,51,1 (cm
3
).
1.2.8 Bài toán ngược của lí thuyết sai số
Cho hàm số u=f(x
1
, x
2
, ,x
n
) là hàm khả vi. Cần phải chọn các sai số

x
i
,
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:
 Nguyên lý 1. Nếu coi
i
i

f
x
x



= c, i=
n,1
( với c là hằng số) thì từ (1.8)
thì ta có:
i
i
i
f
u x nc
x

   


.

19
Vậy :
, 1,
i
i i
c M
x i n
f f

n
x x
   
 
 
. (1.10)
 Nguyên lý 2. Nếu coi

x
i
= c, i=
n,1
(với c là hằng số) thì từ (1.8) ta có:

, 1,
i
i i
i i
u M
x i n
f f
x x

   
 
 
 
. (1.11)
 Nguyên lý 3. Nếu coi


x
i
=c, i=
n,1
(với c là hằng số) thì từ (1.8) ta có:
i
i
i
f
u c x
x

 


hay
i
i
i
j j
j j
j j
x
u M
c x
x
f f
x x
x x




   
 
 
 
.
Từ đó suy ra:
, 1,
i
i
j
j
j
x M
x i n
f
x
x
  



. (1.12)
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=

R
2
h.
Để tính toán các sai số, có thể áp dụng nguyên lí ảnh hưởng đều thứ nhất.

V



=R
2
h =12 (m
3
), suy ra

 =
12
.
3
1,0
< 0,003.
Do đó có thể lấy  =3,14.

V
R



=2

Rh =37,7 , suy ra

R =
0,1
3.37,7
< 0,001 (m).

V
h


=

R =12,6 , suy ra

h =
0,1
3.12,6
< 0,003 (m).
1.2.9 Phương pháp biên
Giả sử y =f(x
1
, x
2
, ,x
n

) là hàm đồng biến đối với p biến đầu tiên x
1
, x
2
, ,x
p
và nghịch biến đối với n-p biến cuối cùng x
p+1
, x
p+2
, ,x
n
trong hình hộp chữ nhật
ii
i
xxx  với i =
n,1
. Khi đó:
1 2
1 2
( , , , , , , , )
p p n
p
y f x x x x x x y
 
  
1 2
1 2
( , , , , , , , )
p

p p n
f x x x x x x y
 

.

20
Và do đó 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

3 3 3 3 3 3
1 1 1 1 1 1
1 2 3 4 5 6
A
     
.
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:
3
1
1
= 1,000 ,

1
= 0;
3
4
1
= 0,016 ,

4
= 4.10
-4
;
3
2
1
= 0,125 ,

3
= 0;
3
5
1
= 0,008 ,

5

= 0;
3
3
1
= 0,037 ,

3
= 1.10
-4
;


3
6
1
=0,005 ,

6
= 4.10
-4
.
Cuối cùng ta được:
a =0,899 và | a-A| 

1
+

2
+


3
+

4
+

5
+

6
= 9.10
-4
.
Vì vậy A = 0,899  9.10
-4
.
Trong các biểu thức trên,

i
là sai số qui tròn của phép tính
3
1
i
.
Thí dụ 9. Hãy tính tổng của chuỗi

1
3 3 3 3
1 1 1 1
( 1)

1 2 3
n
B
n

      

với sai số tuyệt đối không quá 5.10
-3
.

21
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
3 3 3 3
1 1 1 1
( 1)
1 2 3
n
n
B
n

      .
Việc tính B
n
đơn giản hơn tính B, nhưng khi đó ta sẽ mắc một sai số phương
pháp là

n
B B
 . Để 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ố
n
B B

<5.10
-3
. Mặt khác, theo định lý Leibnitz về chuỗi đan dấu ta

 
3
1
1
n
B B
n
 

. Do đó cần phải chọn n thỏa mãn
 
3
1
1
n 
<5.10
-3
hay
6

n

,
cho nên ta có thể chọn n=6.
Ta có
 
3
6
3
1
3.10
6 1
B B

  

và B
6
= A = 0,899  9.10
-4
.
Từ đó suy ra:

6 6
0,899 0,899
B B B B
     
3.10
-3
+ 9.10

-4
< 4.10
-3
.
Vì vậy chúng ta có thể viết B = 0,899  4.10
-3
.


22

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 m
2
,

b =3,65 cm
2
;
c = 32
0
16’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 =102
0
36’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;
c) y = a.b; d) z =a/b với b
≠0
.
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) a = ln (x
2
+2y) với x=0,65 và y=2,345.
b) b =
2
3
2
x y
z


với x= 1,6; y= 1,3 và z=12,341.
7. Tính xấp xỉ giá trị của arctg0,8 với sai số tuyệt đối 10
-5
.

23
8. Tính xấp xỉ số e với sai số tuyệt đối là 10
-6
theo công thức sau:
e =
1 1 1 1
1
1 2 3

! ! ! n!
     

9. Tính xấp xỉ giá trị của biểu thức A= ln(1,2) với sai số tuyệt đối 10
-7
theo công
thức:

3 5
1
2
1 3 5
x x x
ln x
x
 


   
 

 
với
| | 1
x

.


×