Lời nói đầuPhương pháp tính là một môn học đã có từ lâu, nhưng từ khi máy tính điện tử rađời, môn học này phát triển rất nhanh, nhằm xây dựng những thuật toán đơn giản, cóhiệu lực, giải
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Bài thu hoạch môn: Toán cho Khoa học máy tính
Trang 2MỤC LỤC
Lời nói đầu 3
CHƯƠNG 1: TÍNH GẦN ĐÚNG ĐẠO HÀM 4
1.1 Đạo hàm ROMBERG 4
1.2 Ứng dụng lập trình 6
1.2.1 Dùng C++ 6
1.2.2 Dùng Matlab 7
CHƯƠNG 2: TÍNH GẦN ĐÚNG TÍCH PHÂN XÁC ĐỊNH 9
2.1 Công thức hình thang 9
2.2 Ứng dụng lập trình 10
2.2.1 Dùng C++ 11
2.2.2 Dùng Matlab 11
2.3 Công thức Simpson 12
2.4 Ứng dụng lập trình 13
2.4.1 Dùng C++ 13
2.4.2 Dùng Matlab 14
2.5 Công thức của Gauss 15
2.5.1 Liên hệ giữa các hệ toạ độ tổng thể và hệ toạ độ địa phương 15
2.5.2 Ứng dụng lập trình 16
2.5.3 Tích phân số 17
2.6 Kết luận 20
Tài liệu tham khảo 21
Trang 3Lời nói đầu
Phương pháp tính là một môn học đã có từ lâu, nhưng từ khi máy tính điện tử rađời, môn học này phát triển rất nhanh, nhằm xây dựng những thuật toán đơn giản, cóhiệu lực, giải đến kết quả bằng số những bài toán của khoa học kỹ thuật trên máy tính
Vì vậy, ngày nay với việc sử dụng rộng rãi máy tính trong các cơ quan, xí nghiệp, cáckiến thức của môn phương pháp tính càng trở nên hết sức cần thiết đối với người họckhoa học máy tính
Trong nhiều bài toán kỹ thuật, ví dụ khi cần tính tích phân trong phương pháp sốphần tử hữu hạn, phần tử biên… thường chúng không nhận được kết quả bởi giải tích;lúc đó người ta hay sử dụng các phương pháp tính gần đúng
Bài thu hoạch này em xin trình bày hai phần sau đây:
Chương 1: Tính gần đúng đạo hàm
Chương 2: Tính gần đúng tích phân xác định
Với những kiến thức toán học hạn chế của em nên mục tiêu của bài thu hoạch nàychỉ nhằm mục đích học tập và tìm hiểu một vài phương pháp tính gần đúng ứng dụngcho việc tính đạo hàm và tích phân, báo cáo mang tính chất học tập và minh họa làchính
Em xin chân thành cảm ơn PGS TS Nguyễn Phi Khứ đã có những bài giảng súctích và sâu sắc để tạo cảm hứng cho sự ra đời của bài thu hoạch này
Trang 4CHƯƠNG 1: TÍNH GẦN ĐÚNG ĐẠO HÀM
1.1 Đạo hàm ROMBERG
Ta biểu diễn hàm f(x) bằng đa thức nội suy: f(x) = P(x), với P(x) là đa thức nội suy(đa thức nội suy tiện lợi là spline bậc 3); tiếp theo ta tính gần đúng đạo hàm f’(x) ở đathức này:
2 4 6
D 1,1 h f x a h a h a h
(1.7)Thay
h h
2
, ta có:
Trang 5D(i, 1) sai khác với f’(x) bậc h2, trong khi D(2, 2) sai khác với f’(x) bậc 0(h)4.Bây giờ, nếu chia đôi bậc h, ta sẽ nhận được:
Nếu ta tiếp tục chia đôi bậc h và tính D(4, 4) thì sai số của đạo hàm f’(x) là bậc0(h)8
Một cách truy hồi, ta có sơ đồ tính đạo hàm theo phương pháp ROMBERG nhưsau:
Trong đó, mỗi giá trị sau có được bằng cách ngoại suy các giá trị trước nó ở hàngtrên
Với : 2 ≤ j ≤ i ≤ n ; ta có công thức tổng quát:
Trang 6h h
2
.Như vậy phương pháp ROMBERG có thể cho phép tính đạo hàm với độ chínhxác tùy ý; trong thực hành khi hai lần tính đạo hàm liên tiếp, nếu sai số nhỏ hơn sai sốcho phép, thì chương trình tính sẽ dừng lại
Ví dụ Tìm đạo hàm của hàm f(x) = x2 + arctan(x) tại x = 2 với bước tính h = 0.5.Trị chính xác của đạo hàm là 4.2
Trang 7printf("Tinh dao ham theo phuong phap Romberg\n");
printf("cua ham f(x) = th(x) tai x = %4.2f\n",x);
function df = diffromberg(f, x, h, maxiter, tol)
%Tinh dao ham bang phuong phap Romberg
Trang 8error( 'Ngoai suy Richardson khong hoi tu' );
Trang 9dx I
Trang 10Kết quả tính toán trong bảng sau:
Theo công thức hình thang tổng quát ta có:
1,0000 0,50000
I 0,1( 0,90909 0,83333 0,76923 0,71429 0,66667
20,62500 0,58824 0,55556 0,52632) 0,69377
Trang 11function J = trapezoid(f, a, b, maxiter, tol)
% Quy tac hinh thang lap.
Trang 12x = a + h/2.0; % toa do diem moi thu nhat
Bây giờ cứ mỗi đoạn cong Mi, Mi+1 được xấp xỉ bằng đường cong bậc hai, đi qua
ba giá trị yi, yi+1 và giá trị y tại
Trang 13
4 S
Trang 152.5 Công thức của Gauss
2.5.1 Liên hệ giữa các hệ toạ độ tổng thể và hệ toạ độ địa phương
Trong nhiều trường hợp ta cần tính tích phân số với độ chính xác rất cao, nhưtrong phương pháp phần tử hữu hạn (PTHH), miền tính toán được chia nhỏ thànhnhiều miền con, phương pháp biến phân trọng số xây dựng trên các miền con này Do
đó dẫn đến tích phân hàm dạng trên miền con
Hình 2.1: Biểu thị phần tử chiếu V r vào phần tử thực V e
Với phần tử đẳng tham số (isoparametric), ta có thể viết công thức biến đổi toạ độcho phần tử tứ giác tuyến tính có bốn điểm nút như sau:
Với phần tử tam giác tuyến tính có ba điểm nút:
Trang 16xJy
Ở đây J là ma trận Jacobian biến đổi toạ độ Định thức của ma trận này, det J ,
cũng phải được ước lượng bởi lẽ nó được dùng trong các tích phân biến đổi như sau:Cho phần tử tứ giác tuyến tính:
1 1 1 1
1 0 0
Hình 2.2: Phần tử tứ giác có ma trận Jacobian không xác định
Trong một số trường hợp, ví dụ như ở Hình 2.1, phần tử tứ giác có 4 điểm nút,nếu dạng hình học như vậy, ma trận Jacobian trở nên không xác định; để nó có giá trịtốt, các hình dạng phần tử như cạnh và góc của nó cần phải đều đặn hơn (ví dụ tamgiác đều, tứ giác đều hình vuông, đây là các dạng phần tử lý tưởng)
2.5.2 Ứng dụng lập trình
Xây dựng hàm:
function [x, w] = gaussjacobi(n, alfa, beta)
%tinh cac trong so va hoanh do trong tich phan Jacobi
Gauss-p = [0.5*(alfa + beta + 2) 0.5*(alfa - beta)];
a = 1;
b = p;
for i = 2:n+1
b1 = 2*i*(i + alfa + beta)*(2*i + alfa + beta -2);
b2 = (2*i + alfa + beta -1)*(alfa^2 - beta^2)/b1;
b3 = ((2*i + alfa + beta -2)*(2*i + alfa + beta -1 )*(2*i + alfa + beta))/b1;
b4= (2*(i + alfa -1)*(i + beta - 1)*(2*i + alfa + beta))/ b1;
Trang 18thực hành (2.13), (2.14) được ước lượng bằng số, gọi là tích phân số (numericalintegration hay còn gọi là numerical quadrature) Dùng tích phân số của Gauss, vớiphần tử tứ giác, miền hai chiều ta có:
i i i
là các vị trí tọa độ bêntrong phần tử, cho ở Bảng 2.2; còn với phần tử tam giác, tương tự như phần tử tứ giác,nhưng các điểm tích phân là các điểm mẫu (Sampling Points), Bảng 2.1
Thông thường người ta muốn các tích phân số đạt độ chính xác cao, nhưng cónhững trường hợp đặc biệt lại không cần thiết Ở tích phân Gauss (3.31), với n = 2, sẽchính xác khi hàm f là cubic (bậc 3), còn ở tích phân (2.15), n = 1, sẽ chính xác khi đathức f bậc nhất, còn n = 3, sẽ chính xác khi đa thức f bậc hai
Bảng 2.1: Điểm tích phân cho phần tử tam giác theo công thức (2.16)
Trang 19Bảng 2.2: Trọng số và điểm tích phân Gauss – Legendre theo công thức (2.15)
Ví dụ 1 Tính tích phân:
1
3 2 1
Trang 20Giải tích số là một ngành của Toán học quan tâm đến các kết quả biểu diễn bằngsố; công việc của nó nhằm chuyển đổi các lời giải toán học chính xác về dạng cáccông thức đơn giản sao cho các công thức này có thể tính được bằng các phép tính cơbản của số học, hoặc tìm các lời giải gần đúng khi không thể tìm lời giải chính xác saocho sự khác biệt giữa hai lời giải là nhỏ nhất Do đó, có thể nói đây là một ngành kếthợp giữa hai ngành Toán học và Khoa học máy tính và nó được đã và đang được sửdụng rộng rãi trong các ngành khoa học và kỹ thuật.
Phép tính đạo hàm bằng số (đạo hàm gần đúng) được dùng để tính giá trị đạo hàmcủa một hàm số khi biết giá trị cho sẵn của hàm số tại một số điểm nhất định Việctính đạo hàm bằng số giữ vai trò quan trọng trong việc tính đạo hàm thường vàphương trình đạo hàm riêng
Phương pháp tính tich phân bằng số được áp dụng cho các hàm số không có biểuthức giải tích nhưng có các giá trị tại một số điểm và cho cả các hàm có biểu thức giảitích; nó tiện lợi khi chỉ cần tính giá trị của tích phân Giống như phép tính đạo hàmbằng số, cơ sở để tính tích phân bằng số là đa thức nội suy
Trang 21Tài liệu tham khảo
[1] PGS TS Đặng Văn Liệt, Giải tích số, Nhà xuất bản Đại học Quốc gia Thành phố
Hồ Chí Minh, 2004
[2] Nguyễn Chí Long, Phương pháp tính, Nhà xuất bản Đại học Quốc gia Thành phố
Hồ Chí Minh, 2002
[3] GS Tạ Văn Đĩnh, Phương pháp tính, Nhà xuất bản Giáo dục, 2003.
[4] PGS TS Dương Thủy Vỹ, Giáo trình Phương pháp tính, Nhà xuất bản Khoa học
và Kỹ thuật, 2005
[5] PGS TS Đặng Văn Liệt, Vật lý tính toán, Nhà xuất bản Đại học Quốc gia Thành
phố Hồ Chí Minh, 2006