Một trong những phương pháp phổ biến được sử dụng để tính toán diện tích của một vùngtrên bản đồ là phương pháp Simpson.. Trong bài tập lớn này, chúng em sẽ khám phá cách sử dụng phương
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÀI TẬP LỚN MÔN HỌC PHƯƠNG PHÁP TÍNH
Trang 2ĐỀ TÀI
1/ Cho một bản đồ khu vực Viết code để thể hiện diện tích.
Trang 3DANH SÁCH THÀNH VIÊN NHÓM 8STT HỌ VÀ TÊN SINH VIÊN MÃ SỐ ĐÓNG GÓP BÀI TẬP LỚN THÀNH HOÀN
Trang 4MỤC LỤC
PHẦN MỞ ĐẦU 1
I CƠ SỞ LÝ THUYẾT 2
1 Đặt vấn đề và mục tiêu: 2
2 Cơ sở lý thuyết 2
Tính tích phân gần đúng: 2
Công thức Simpson: 2
Sai số: 2
Ví dụ: 2
II ỨNG DỤNG PHƯƠNG PHÁP SIMPSON 2
III MATLAB 2
1 Sơ đồ khối biểu diễn thuật toán 2
2 Giải toán bằng MATLAB 2
3 Chương trình MATLAB 2
PHẦN KẾT LUẬN 3
TÀI LIỆU THAM KHẢO 4
Trang 5PHẦN MỞ ĐẦU
Chúng em thuộc nhóm 8 L04 xin cảm ơn cô Lê Thị Yến Nhi đang công táctại Trường Đại học Bách Khoa TP.HCM – Đại Học Quốc Gia TP.HCM, cô phụtrách việc giảng dạy và hướng dẫn cho nhóm chúng em môn Phương pháp tínhNhóm em xin cảm ơn cô đã truyền đạt cho nhóm em những kiến thức cơ bản đểhoàn thành đề tài được giao cũng như những kiến thức chuyên môn Trong quátrình thực hiện đề tài này không thể tránh được những sai sót Nhóm em rất mongđược nhận những lời nhận xét, ý kiến, đánh giá từ cô khi đọc bản báo cáo đề tài này.Nhóm em xin chân thành cảm ơn
Phương pháp tính là môn học đại cương đóng vai trò nền tảng và cực kì quan trọng đối với nhóm em nói riêng và toàn thể sinh viên Trường Đại học BáchKhoa TPHCM nói chung, đặc biệt là những sinh viên học các ngành khối khoa học kỹ thuật - công nghệ Vì thế, bọn em đã dành cho môn học này một khối lượng thời gian khá đáng kể và thực hành là điều cần thiết để nhóm em có cơ sở vững chắc về học phần và làm tiền đề cho các môn chuyên ngành tiếp theo của bọn em
Trang 6I CƠ SỞ LÝ THUYẾT
1 Đặt vấn đề và mục tiêu:
Trong nhiều lĩnh vực của khoa học và kỹ thuật, việc tính toán diện tích của một vùng là mộtnhiệm vụ quan trọng Đặc biệt, khi làm việc với dữ liệu không gian như bản đồ, việc ước lượng
diện tích một vùng có thể đóng vai trò quan trọng trong việc phân tích và quản lý dữ liệu địalý
Một trong những phương pháp phổ biến được sử dụng để tính toán diện tích của một vùngtrên bản đồ là phương pháp Simpson Phương pháp này cung cấp một cách tiếp cận hiệu quảđể
ước lượng diện tích dưới đường cong bằng cách sử dụng các đoạn parabol
Trong lĩnh vực địa lý và bản đồ học, việc áp dụng phương pháp Simpson cho việc tính toándiện tích của các vùng đất, hồ, hoặc các khu vực địa lý khác có thể mang lại kết quả chính xác
và đáng tin cậy Điều này đặc biệt quan trọng trong các ứng dụng như đo lường sự thay đổi diện
tích đất đai, quản lý tài nguyên tự nhiên, và xác định biên giới địa lý
Trong bài tập lớn này, chúng em sẽ khám phá cách sử dụng phương pháp Simpson để tínhdiện tích của một vùng trên bản đồ, bao gồm cơ sở lý thuyết và các bước thực hiện Chúng em
cũng sẽ thảo luận về ứng dụng của phương pháp này trong thực tế và những lợi ích mà nó mang
lại trong việc phân tích dữ liệu địa lý
Nhưng thường thì ta phải tính tích phân của hàm số y =f(x) được xác định bằng bảng
số Khi đó khái niệm nguyên hàm không còn ý nghĩa và trong thực tế thì chúng ta thường gặp trường hợp hàm f(x) không có nguyên hàm hoặc nguyên hàm quá phức tạp không thể xác định được Trong những trường hợp này người ta phải tính gần đúng ∫
Trang 7Ý tưởng cơ bản của phương pháp này là chia nhỏ khoảng [a,b] cần lấy tích phân, sau
đó trên mỗi khoảng nhỏ này ta xấp xỉ hàm số bằng một đa thức Với các đa thức ta có thể dùng nguyên hàm của chúng để tính tích phân, sau đó ta cộng các tích phân thành phần để được xấp xỉ của tích phân toàn thể.
Công thức Simpson:
Công thức Simpson là một phương pháp số học được sử dụng để xấp xỉ tích phân xác định Phương pháp này dựa trên việc sử dụng các đoạn parabol để xấp xỉ đồ thị của hàm số cần tích phân
Để tính gần đúng tích phân ∫
a
b
a(điểm đầu), x1= a+h, b(điểm cuối) với h= (b−a)2 ,thay hàm dưới dấu tích phân f(x)
bằng đa thức nội suy Newton tiến bậc 2 đi qua 3 điểm (a, f(a)), (x1, f(x1)) và (b,
f(b)) xuất phát từ nút (a, f(a))
Vậy P2(x)= f(a) + f[a, x1](x-a) + f[a, x1, b](x-a)(x-x1)
Trang 8Ưu điểm của công thức Simpson
Độ chính xác cao hơn so với các phương pháp số học đơn giản khác như hình thang hoặc hình chữ nhật
Hiệu quả cho các hàm có dạng cong như parabol
Hạn chế
Cần chia đoạn tích phân thành một số lượng phân đoạn chẵn (Simpson 1/3)
Không thích hợp cho các hàm có điểm kỳ dị hoặc biến động mạnh
Bài toán ví dụ sử dụng Công thức Simpson
f(x2) = f(1) = 1 3 = 1
f(x3) = f(1.5) = 1.53=3.375
f(x4) = f(2) = 2 3 = 8
Áp dụng công thức Simpson
Trang 9Giá trị gần đúng của tích phân là: I ≈ 4.0
Ước lượng sai số của công thức Simpson
Công thức Simpson là một phương pháp số học chính xác cao, tuy nhiên, sai số vẫn tồn tại, đặc biệt khi hàm cần tích phân có độ cong lớn Sai số này phụ thuộc vào đạo hàm bậc cao của hàm số
Người ta đã chứng minh được công thức sai số như sau:
R2(2n)= (b−a)180 M4h4Trong đó:
Trang 10f ' ( x)=−sinx , f ' ' ( x)=−cosx , f3( x)=sinx , f4( x)=cosx
Trên đoạn [0,1], giá trị lớn nhất của |f4(x)|=|cosx|=1
2 Thay các giá trị vào công thức: h=b −a
Chia đoạn [0,1] thành 2n = 4 đoạn con bằng nhau, với h=(1−0)4 =¿0.25, ta tính ra bảng sau:
Trang 11Một nhà máy sản xuất ống thép muốn tính thể tích một ống thép hình xoắn ốc có đường kính trong thay đổi theo chiều dài của ống Để tính thể tích của một ống thép dài 10 mét, người ta đo đường kính trong tại các vị trí cách đều nhau 2 mét và thu được kết quả như sau (đơn vị: cm):
Khoảng cách từ đầu ống (m) Đường kính trong (cm)
Bước 1: Mô hình hóa bài toán
Ta coi ống thép như một hình trụ rỗng có bán kính trong thay đổi theo chiều dài
Mỗi đoạn dài 2 mét của ống có thể coi như một hình trụ tròn xoay
Thể tích của mỗi hình trụ tròn xoay này có thể tính bằng công thức: V = πh(R² - r²), trong đó:
o h: chiều cao (độ dài đoạn)
o R: bán kính ngoài
o r: bán kính trong
Thể tích tổng cộng của ống thép sẽ là tổng thể tích của các hình trụ tròn xoay này
Bước 2: Áp dụng phương pháp Simpson
Xác định hàm số: Hàm số f(x) biểu diễn bán kính trong của ống tại vị trí x.
Chia đoạn: Chúng ta đã chia đoạn [0, 10] thành 5 đoạn bằng nhau, mỗi đoạn dài 2m.
Tính bán kính ngoài: Bán kính ngoài của ống tại mỗi vị trí bằng bán kính trong
cộng với độ dày ống (0.5 cm)
Áp dụng công thức Simpson để tính thể tích của mỗi lát cắt:
o Tính diện tích đáy của mỗi lát cắt: S = π(R² - r²)
o Nhân diện tích đáy với chiều cao để tính thể tích của lát cắt
o Áp dụng công thức Simpson để tính tổng thể tích của các lát cắt
Bước 3: Tính toán
Bảng tính toán: | Khoảng cách (m) | r (cm) | R (cm) | S (cm²) | | -| -| -| -| | 0 | 5 |
5.5 | | | 2 | 6 | 6.5 | | | | | | |
Áp dụng công thức Simpson:
o Tính tổng các giá trị S nhân với hệ số tương ứng theo công thức Simpson
o Nhân kết quả với chiều dài của mỗi đoạn (2m) và π
Bước 4: Kết luận:
Tổng kết quả tính được ở bước 3 chính là thể tích ước tính của ống thép
Lưu ý:
Độ chính xác: Kết quả tính được chỉ là một giá trị xấp xỉ Để tăng độ chính xác, ta
có thể tăng số lượng điểm đo hoặc sử dụng các phương pháp số phức tạp hơn
Trang 12 Ứng dụng: Phương pháp này có thể áp dụng để tính thể tích của các vật thể có hình
dạng phức tạp khác, như các bể chứa, đường ống dẫn dầu,
Giải chi tiết:
Bước 1: Tính toán bán kính và diện tích đáy của mỗi lát cắt:
Khoảng cách
(m)
Đường kính trong (cm)
Bán kính trong (r)
Bán kính ngoài (R)
Diện tích đáy (S = π(R² - r²))
Xuất sang Trang tính
Bước 2: Áp dụng công thức Simpson:
Khoảng cách giữa các điểm đo: h = 2m
Đo lường lưu lượng giao thông:
Để ước tính lưu lượng xe qua một đoạn đường trong một khoảng thời gian nhất định, người
ta đặt các máy đếm xe tại những vị trí cách đều nhau trên đoạn đường đó Dữ liệu thu được
Trang 13là số lượng xe qua mỗi máy đếm trong một khoảng thời gian nhất định (ví dụ: 1 giờ).Giả sử chúng ta có bảng dữ liệu sau:
Khoảng cách từ đầu đoạn đường (km) Số xe qua trong 1 giờ
Ta coi đoạn đường như một trục số, các máy đếm là các điểm trên trục số
Số lượng xe qua mỗi máy đếm là giá trị của hàm số lưu lượng tại điểm đó
Tổng số xe qua đoạn đường sẽ xấp xỉ bằng tích phân của hàm lưu lượng trên đoạn đường
o Với h = 1km, các giá trị f(x) đã cho trong bảng
Tính toán: Thay các giá trị vào công thức, ta được: S ≈ (1/6) * 1 * [200 + 4300 +
2450 + 4500 + 2400 + 250] = 1650 xe
III Bài tập áp dụng
Ví dụ: Đánh giá ∫ 0 1 e x dx, theo quy tắc ⅓ của Simpson.
Giải pháp:
Chúng ta hãy chia phạm vi [0, 1] thành sáu phần bằng nhau bằng cách lấy h = 1/6
Nếu x 0 = 0 thì y 0 = e 0 = 1
Nếu x 1 = x 0 + h = , thì y⅙ 1 = e 1/6 = 1,1813
Nếu x 2 = x 0 + 2h = 2/6 = 1/3 thì y 2 = e 1/3 = 1,3956
Nếu x 3 = x 0 + 3h = 3/6 = ½ thì y 3 = e 1/2 = 1,6487
Nếu x 4 = x 0 + 4h = 4/6 ⅔ thì y 4 = e 2/3 = 1,9477
Nếu x 5 = x 0 + 5h = thì y⅚ 5 = e 5/6 = 2,3009
Nếu x 6 = x 0 + 6h = 6/6 = 1 thì y 6 = e 1 = 2,7182
Chúng ta biết theo quy tắc ⅓ của Simpson;
Trang 14∫ a b f(x) dx = h/3 [(y 0 + y n ) + 4(y 1 + y 3 + y 5 + … + y n-1 ) + 2(y 2 + y 4 + y 6 + … + y
Trang 15Giả sử chúng ta có một đập đất đắp hình thang cân, như hình vẽ bên dưới Để tính khối lượng của đập đất đắp này, chúng ta cần tính thể tích của nó, sau đó nhân với khối lượng riêng của đất.
Tuyệt vời! Để bạn hình dung rõ hơn về cách áp dụng phương pháp Simpson vào thực tế, mình sẽ đưa ra một ví dụ cụ thể hơn nhé
Bài toán:
Tính khối lượng của một đập đất đắp.
Giả sử chúng ta có một đập đất đắp hình thang cân, như hình vẽ bên dưới Để tính khối lượng của đập đất đắp này, chúng ta cần tính thể tích của nó, sau đó nhân với khối lượng riêng của đất
[Hình ảnh một đập đất đắp hình thang cân, chia thành nhiều lớp ngang]
Trang 16Cách giải:
1 Chia đập đất đắp thành các lớp ngang:
o Chia đập đất đắp thành nhiều lớp ngang có độ dày bằng nhau
o Đo chiều rộng của đập tại các điểm đầu, giữa và cuối của mỗi lớp
2 Tính diện tích từng lớp:
o Mỗi lớp có hình dạng gần giống hình thang
o Áp dụng công thức Simpson để tính diện tích của từng lớp
Diện tích lớp thứ i: S_i ≈ (h/3) * (a_i + 4m_i + b_i)
h: Độ dày của lớp
a_i, b_i: Chiều rộng của đập tại hai đầu của lớp thứ i
m_i: Chiều rộng ở giữa lớp thứ i
Trang 17 Chúng ta đã có bảng dữ liệu đầy đủ về chiều rộng của đập tại các điểm đầu, giữa và cuối của mỗi lớp, như trong ví dụ trước.
Khối lượng riêng của đất đã được xác định
Đơn vị đo là mét
Các bước giải:
1 Tính diện tích của từng lớp:
Diện tích lớp thứ i: S_i ≈ (h/3) * (a_i + 4m_i + b_i)
h: Độ dày của lớp
a_i, b_i: Chiều rộng của đập tại hai đầu của lớp thứ i
m_i: Chiều rộng ở giữa lớp thứ i
Trang 182 Giải toán bằng MATLAB
2.1 Bài toán
Xác định gần đúng điện tích của tỉnh Đắk Lắk bằng phương pháp simpson.Thông qua bản đồ địa lý của tính Đắk Lắk:
Trang 19Hình 3.2 bản đồ Đắk Lắk khi áp vào tọa độ Oxy
2.2 Hướng giải bài toán
Xác định các điểm thông qua hệ tọa độ địa lý , sau đó chuyển từ hệ tọa độ địa lý sang hệ tọa độOxy
Áp bản đồ vào đồ thị Oxy , chia bản đồ thành hai nửa (hình 3.2)
Từ 2 nửa bản đồ, tiến hành chia nhỏ các thành phần khác nhau, tiến hành lấy các giá trị x và y
để làm số liệu ( làm trên app gg map để lấy số liệu )
Sau khi có các sô liệu, tiến hành áp dụng các phương pháp nội suy đã học được để ước lượng hàm số : tại đây nhóm tôi áp dụng phương pháp bình phương cực tiểu để nội suy hàm số với những
hệ số được lấy từ chương trình MATLAB
Khi đã ước lượng được hàm số, áp dụng các công thức tính tích quân để tính diện tích bên dưới hàm số, nhóm tôi lựa chọn phương pháp Simpson
Tiến hành trừ các giá trị diện tích cho nhau để ra phần diện trích cần tìm
2.3 Số liệu
Thu thâp số liệu thông qua ứng dụng google map
Tiến hành lấy số liệu bằng cách chấm các điểm nút trên đường biên của tỉnh Đắk Lắk
Số liệu hiện thị trên google map hiển thị dưới dạng 1 cặp tọa độ với 2 loại là tọa độ độ- phút- giây ( 37 › 25’19.07”N: 122 › 05’06.24”W) và tọa độ thập phân ( 37.7 › : -122.2 › ) , nên cần chuyển sang tọa độ Gauss (Oxy)
Trang 20Do áp dụng nội suy bình phương cực tiểu , dạng y=A+Bx nên khi số liệu thu thập được lấy theocụm số liệu phân bố gần giống dạng tuyến tính.
Sau khi thu thập số liệu, áp dụng nội suy bình phương cực tiểu để nội suy ra các phương trình cho các cụm số liệu Tiếp theo dùng các phương trình đã nội suy để tính giá trị diện tích
At=0;Bt=0;Ct=0;Dt=0; % khởi tạo giá trị đầu để cộng dồn
for i=1:n % tính toán lập phương trình các giá trị A B C D
[A B] = solve( At*a+Bt*b==Ct,n*a+At*b==Dt);% giải hệ để tìm giá trị a và b
disp (['y=',num2str(double(B)),'x+',num2str(double(A))])
● Kết quả chạy Function
Dựa vào số liệu thu thập được, áp dụng nội suy bình phương tối thiểu để suy ra các phương trình cho các cụm số liệu:
Hình 3.5: Cụm số liệu
Trang 21Nhập số liệu tại command window như sau :
Hình 3.6: Biểu đồ biểu diễn phương trình nội suy.
So sánh với nội suy từ Excel thì có thể kết luật Function được thực hiện trên Matlab chính xác hơn
Thực hiện tương tự cho các cụm số liệu khác, ta nội suy ra được những phương trình sau :
Trang 22if nargin<4, error ( 'ham co it nhat 4 doi so');
end% kiểm tra xem có ít nhất 4 đối số hay không ( f,a,b,n)
if n<=0, error('khong the tinh tich phan ');
end% kiểm tra xem n có dương hay không
if mod(n,2)~=0, error('so doan chia phai la so chan');
end% kiểm tra xem n có phải là số chẵn hay không
h=(b-a)/n; % tính chiều rộng của khoảng con của biến x
Trang 23m=n/2; % tính số trung điểm
y=subs(f,a)+subs(f,b)+4*subs(f,a+h); % khởi tạo các giá trị xấp xỉ của y
for i=1:m-1 %lặp lại các điểm giữa còn lại
y=y+2*subs(f,a+2*i*h)+4*subs(f,a+(2*i+1)*h);
end%cập nhật giá trị gần đúng đúng của y
y=y*h/3; % dùng côgn thức Simpson tính giá trị cuối cùng
Phần code của công thức Simpson sẽ được sử dụng trong Function Dothi2 (gồm các hàm đã nội suy ở bên trân , sử dụng công thức Simpson để tính giá trị tích phân) và so sánh với kết quả trong Function Dothi (gồm các hàm đã nội suy ở trên nhưng sử dụng công thức tính tích phân của MATLAB)
Trang 24syms x% khai báo biến x
% định nghĩa 12 hàm dưới dạng phương trình tuyến tính y=ax +b
%Dùng c5simpson để tính giá trị tuyệt đối tích phân xác định của từng hàm
%với 1000 khoảng con
s1=abs(c5simpson(y1,147226.40557957,1483723.08053796,1000))
+abs(c5simpson(y2,1483723.08053796,1474906.9197267,1000))
+abs(c5simpson(y3,1474906.9197267,1417314.94694278,1000))
+abs(c5simpson(y4,1417314.94694278,1402683.82221727,1000));
Trang 25● Kết quả chạy Function
Do 2 Function Dothi và Function Dothi2 không cần nhập các thông số đầu vào, các hàm cần tính giá trị tích phân đã được nhập sẵn trong Function nên chỉ cần bấm “ run” trong phần Editor củaMatlab để chạy Function, tuy nhiên trước đó cần phải chạy trước hàm Simpson để có thể sử dụng Function Dothi2
Hình 3.7 Kết quả của 2 Function
Nhận xét : hai kết quả đều có sự chênh lệch với diện tích thực của Đắk Lắk
● Nguyên nhân gây ra sai số
- Lựa chọn phương pháp nội suy: Do chỉ sử dụng nội suy xuyên suốt trong quá trình tính toán nên giá trị sai số ngày càng lớn, việc sử dụng phương pháp bình phương cực tiểu dạng tuyến tính nên cóthể dẫn ra sai số Trên thực tế có những địa hình có hình dạng đặc biệt, do đó để tăng độ chính xác cần sử dụng từng loại nội suy phù hợp với từng vị trí, địa hình riêng biệt
- Sai số gây ra bởi việc thu thấp ố liệu không thực sự chuẩn xác bằng ứng dụng Google Map, cùngvới số lượng điểm thu thập quá ít để có thể nội suy chính xác, để tăng độ chính xác thì cần thu thập thêm nhiều mốc nội suy thêm để kết hợp với nhiều phương pháp nội suy cụ thể cho từng cụm mốc nội suy
- Sai số gây ra bởi cách tính giá trị tích phân của phương pháp Simpson