1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bản báo Bài tập lớn Bộ môn Phương pháp tính

21 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bản báo Bài tập lớn Bộ môn Phương pháp tính
Tác giả Nhóm 12
Người hướng dẫn Võ Trần An
Trường học Trường đại học Bách Khoa Tp. Hồ Chí Minh
Chuyên ngành Bộ môn Phương pháp tính
Thể loại Bài tập lớn
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 21
Dung lượng 0,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

7 1 Hàm với dữ kiện đề bài dạng phương trình.. 7 2 Hàm với dữ kiện đề bài dạng bảng số liệu.. 9 1 Hàm với dữ kiện đề bài dạng phương trình.. 9 2 Hàm với dữ kiện đề bài dạng bảng số liệu.

Trang 1

Trường đại học Bách Khoa

Đề tài: 11

Trang 3

Mục lục

Danh sách thành viên: 2

Mục lục 3

A Lý thuyết 4

I Quy tắc Hình thang (Trapezoidal) 4

II Phương pháp Simpson 4

III Phương pháp Simpson 3/8: 5

B Xây dựng thuật toán 7

I Phương pháp hình thang (Trapezoidal) 7

1) Hàm với dữ kiện đề bài dạng phương trình 7

2) Hàm với dữ kiện đề bài dạng bảng số liệu 7

II Phương pháp Simpson 9

1) Hàm với dữ kiện đề bài dạng phương trình 9

2) Hàm với dữ kiện đề bài dạng bảng số liệu 11

III Hàm tìm 𝑴𝒏 14

C Giải bài toán 16

Dữ kiện đề bài áp dụng cho câu 24.1, 24.2, 24.3: 16

Câu 24.1: 16

Câu 24.2: 17

Câu 24.3: 18

Dữ kiện dùng cho câu 24.4 và 24.5: 19

Câu 24.4: 19

Câu 24.5: 20

Trang 4

A Lý thuyết

Mục đích của đề tài là tính xấp xỉ tích phân của một hàm cho trước dưới dạng phương trình hoặc bảng số liệu bằng phương pháp hình thang (Trapezoidal) và phương pháp Simpson

Xét hàm f(x) trên miền [a,b], đoạn [a, b] được chia thành n khoảng con có độ dài bằng nhau và bằng h = Δx = b−a

n Điểm trong khoảng chia này sẽ là a, a + Δx, a + 2Δx, , a + (n-2) Δx, a + (n-1)Δx,

b

I Quy tắc Hình thang (Trapezoidal)

Δx chính là chiều cao hình thang, xi = a + iΔx, i = 0, 1, 2, , n

Thay diện tích hình thang cong bằng diện tích hình thang thẳng ta được

2n (y0 +2y1 + +2yn-1 + yn) = Δx (y0 +yn

2 + y1 + + yn-1)

Công thức sai số: r = h2.(b−a).M2

12

II Phương pháp Simpson

Đặt h=Δx Trên mỗi đoạn [xi, x2(i+1)] thay hàm f(x) bởi công thức nội suy bậc hai

và diện tích hình thang cong giới hạn bởi ham f(x) bởi diện tích hình thang cong giới hạn bởi parabol nội suy

Trang 5

III Phương pháp Simpson 3/8:

Xét hàm số f(x) trên miền [a,b], chia đoạn [a,b] thì tích phân miền giới hạn bởi

đồ thị hàm f(x) và 3 đường thẳng y = 0, x = a, x = b là

Trang 6

Biểu thức trên được miêu tả cho phương pháp Simpson 3/8

Để bài toán được tổng quát hơn, ta quay lại chia đoạn [a,b] thành n khoảng con như đầu bài Ta có n+1 giá trị xi với i = 0,1,2, n

Xét trên miền [a,b) với các giá trị i chia hết 3, ta có:

x0 = a, ta có tổng A0 = f(x0) + 3f(x0 + h) + 3f(x0 + 2h) + f(x0 + 3h)

x3 = x0 + 3h, ta có tổng A1 = f(x3) + 3f(x3 + h) + 3f(x3 + 2h) + f(x3 + 3h)

x6 = x3 + 3h, ta có tổng A1 = f(x6) + 3f(x6 + h) + 3f(x6 + 2h) + f(x6 + 3h)

(với k nguyên nếu xi + k.h > b thì f(xi + k.h) = 0)

Tích phân trên đoạn [a,b] của f(x) sẽ có giá trị là

∫ f(x)dxab ≈ 3(b−a)

8 (f(b) + A0 + A1 + A2 + A3 + + Am)

= (b−a)

8 (f(x0) + f(xn) + 3V + 2U) Trong đó:

m là phần nguyên của phép tính n

3

V là tổng các giá trị f(xi) với i không chia hết cho 3, i ≠ b

U là tổng các giá trị f(xi) với i chia hết 3, i ≠ 0, i ≠ b

Công thức sai số: 𝑟 = ℎ4.(𝑏−𝑎).𝑀4

80

Trang 7

B Xây dựng thuật toán

Vì các bài toán cho dữ kiện ở 2 dạng là phương trình và bảng số liệu, nên ta sẽ xây dựng 2 hàm tương ứng với mỗi phương pháp để giải 2 dạng dữ kiện

I Phương pháp hình thang (Trapezoidal)

1) Hàm với dữ kiện đề bài dạng phương trình

Hàm được đặt tên là trapez, với 4 đối số là f, a, b, n

Trong đó: f là phương trình từ dữ liện đề bài

a, b lần lượt là cận trên và cận dưới của đoạn cần lấy tích phân

n là số đoạn chia

Phần đầu của hàm là phần kiểm tra đối số để đảm bảo rằng đối số được đưa vào

là đúng Nếu đối số sai, hàm sẽ báo lỗi Điều kiện của đối số: n>1 và a<b

Tiếp theo, dựa vào công thức của phương pháp hình thang, ta xây dựng vòng lập

để hình thành công thức có thể sử dụng với mọi trường hợp có đối số đúng điều kiện và trả về giá trị xấp xỉ của tích phân

Code:

function [I] = trapez(f, a, b, n)

%Kiểm tra đối số

2) Hàm với dữ kiện đề bài dạng bảng số liệu

Hàm được đặt tên là trapez_table, với 2 đối số là x, y với y là giá trị của hàm dưới dấu tích phân tại vị trí x tương ứng

Trang 8

Phần đầu của hàm là phần kiểm tra đối số để đảm bảo rằng đối số được đưa vào

là đúng Nếu đối số sai, hàm sẽ báo lỗi Điều kiện của đối số: x, y là dữ liệu ở dạng ma trận và kích thước ma trận x bằng kích thước ma trận y

Ở phần xây dựng công thức, vì công thức chỉ áp dụng trên những khoảng có kích thước bằng nhau, nhưng trong thực tế, dữ liệu có thể có nhiều khoảng với kích thước khác nhau Để khắc phục trường hợp này, chúng em đã xây dựng một thuật toán để chia bảng dữ liệu ban đầu thành những bảng dữ liệu nhỏ hơn sao cho trong mỗi bản dữ liệu nhỏ các khoảng là bằng nhau

Cuối cùng là tạo vòng lập để xây dụng công thức hình thang Áp dụng công thức hình thang lên từng bảng dữ liệu nhỏ Tính tổng kết quả từ các bảng dữ liệu nhỏ

để được giá trị xấp xỉ của tích phân cần tìm và trả về giá trị đó

Code:

function [I] = trapez_table(x, y)

%Kiểm tra đối số

I1(i) = (y(pst(i)) + y(pst(i + 1)))/2;

for j = (pst(i) + 1):(pst(i+1) - 1)

Trang 9

I1(i) = I1(i) + y(j);

II Phương pháp Simpson

Phương pháp Simpson bao gồm 2 loại là Simpson 1/3 và Simpson 3/8 Simpson 1/3 được áp dụng đối với dữ liệu có số khoảng là số chẵn (2n), Simpson 3/8 được

áp dụng đối với dữ liệu có số khoảng là 3n Bằng việc phối hợp 2 phương pháp này, ta có thể giải mọi bài toán với số khoảng lớn hơn 1

Ta sẽ ưu tiên sử dụng công thức Simpson 1/3 nhiều hơn, vì Simpson 1/3 có công thức sai số là ℎ

4 (𝑏−𝑎).𝑀4

180 , Simpson 3/8 có công thức sai số là ℎ

4 (𝑏−𝑎).𝑀4

80 , nếu xét cùng phương trình dưới dấu tích phân, cùng đoạn [a, b], thì Simpson 1/3 có sai

số nhỏ hơn

1) Hàm với dữ kiện đề bài dạng phương trình

Hàm được đặt tên là simpson được lưu trong M-file tên simpson, với 4 đối số là

f, a, b, n

Trong đó: f là phương trình từ dữ liện đề bài

a, b lần lượt là cận trên và cận dưới của đoạn cần lấy tích phân

n là số đoạn chia

Trong M-file tên simpson, ta tạo thêm hàm tên simpson13() để xây dựng công thức Simpson 1/3 và hàm simpson38() để xây dựng công thức Simpson 3/8 với 4 đối số giống như trên Việc này giúp rút ngặn thời gian và đơn giản hóa việc viết code

Trong hàm simpson, phần đầu là đoạn code kiểm tra đối số, điều kiện của đối số là: n>1 và a>b

Để có thể sử dụng hợp lý công thức Simpson 1/3 và Simpson 3/8, chúng em chia trường hợp theo đối số n như sau:

Trang 10

n = 3: dùng công thức Simpson 3/8

n chia hết cho 2: dùng công thức Simpson 1/3

n không chia hết cho 2: tách n = 2m+3, áp dụng công thức Simpson 1/3 cho 2m khoảng đầu, áp dụng công thức Simpson 3/8 cho 3 khoảng cuối

Ở đây ta thấy trong trường hợp n không chia hết cho 2 đã bao gồm luôn cả trường hợp n = 3, nhưng ta vẫn xét riêng trường hợp n = 3 là vì ở dòng code thứ 23 (dòng được đánh dấu (*) bên dưới), tại trường hợp n = 3 thì biến n1 = 0, lúc này hàm simpson13() tại dòng code đó sẽ trở thành simpson13(f, a, a, n1*2), hàm này sẽ

bị lỗi do đối số thứ 2 phải nhỏ hơn đối số thứ 3 (tức a < b)

Sau quá trình tính toán thì hàm sẽ trả về giá trị xấp xỉ của tích phân cần tìm

Code:

function [I] = simpson(f, a, b, n)

%Kiểm tra đối số

%Xây dựng công thức Simpson 1/3

function [I] = simpson13(f, a, b, n)

f = inline(f);

Trang 11

%Xây dựng công thức Simpson 3/8

function [I] = simpson38(f, a, b, n)

2) Hàm với dữ kiện đề bài dạng bảng số liệu

Hàm được đặt tên là simpson_table, với 2 đối số là x, y với y là giá trị của hàm dưới dấu tích phân tại vị trí x tương ứng

Trong M-file tên simpson_table, ta tạo thêm hàm tên simpson13() để xây dựng công thức Simpson 1/3 và hàm simpson38() để xây dựng công thức Simpson 3/8 với 2 đối số giống như trên

Ta kiểm tra đối số với các điều kiện: x, y là 2 ma trận có kích thước bằng nhau

và có số phần tử lớn hơn 2 (tức là số khoảng lớn hơn 1)

Vì bảng số liệu nhập vào có thể có các khoảng với kích thước không bằng nhau, nên ta lại sử dụng thuật toán chia lại bảng số liệu như đối với hàm trapez_table() bên trên

Sau đó, ta phải kiểm tra lại các bảng số liệu mới xem có bảng nào có số phần tử bằng 2 (thức số khoảng bằng 1 không), nếu có thì hàm sẽ báo lỗi

Kế tiếp ta xét từng bảng số liệu và chia trường hợp dựa trên số khoảng như hàm simpson() phía trên

Trang 12

Cuối cùng ta tính tổng các giá trị xấp xỉ của tích phân vá trả về giá trị cuối cùng

Code:

function [I] = simpson_table(x, y)

%Kiểm tra đối số

else

if mod(pst(i+1) - pst(i), 2) == 0

I1(i) = simpson13(x(pst(i):pst(i+1)), y(pst(i):pst(i+1)));

Trang 13

%Xây dựng công thức Simpson 1/3

function [I] = simpson13(x, y)

%Xây dựng công thức Simpson 3/8

function [I] = simpson38(x, y)

Trang 14

Phần đầu của hàm ta sẽ kiểm tra đối số với các điều kiện: n>0 và a<b

Sau đó ta sẽ tính đạo hàm tới cấp n của hàm f(x)

Tiếp theo ta tìm cực trị địa phương của 𝑓(𝑛)(𝑥) qua các bước:

Tính đạo hàm, cho đạo hàm bằng 0 và giải phương trình tìm nghiệm

Kiểm tra xem nghiệm có thuộc đoạn [a, b] không

Tìm giá trị lớn nhất của tụi tuyệt đối 𝑓(𝑛)(𝑥) tại cái điểm a, b, và các nghiệm đã kiểm tra ở bước trên

Ở đây ta phải xét riêng trường hợp 𝑓(𝑛)(𝑥) không phụ thuộc vào x, tức đạo hàm của 𝑓(𝑛)(𝑥) bằng 0, vì ở dòng code thứ 21, hàm solve() sẽ bị lỗi nếu như đối số thứ nhất không phải là phương trình

Trang 16

C Giải bài toán

Dữ kiện đề bài áp dụng cho câu 24.1, 24.2, 24.3:

Từ dữ kiện đề bài cho, ta sẽ tính được số đoạn chia n, từ đó sử dụng hàm trapez()

và simpson() đã tạo để tính ra kết quả

Trang 17

Từ số đoạn chia n vừa tính được, ta sẽ sử dụng hàm trapez() và simpson() đã tạo

Trang 18

33

=> Đối với câu 24.1, dùng phương pháp Simpson hiệu quả hơn

Trang 19

Về mặt vật lý:

∆𝐻 là nhiệt lượng của một mẫu vật liệu thu vào hay tỏa ra khi nhiệt độ thay đổi Với mẫu vật liệu ở câu 24.1, nó đã nhận nhiệt lượng 38892 (cal) khi nhiệt độ tăng từ -150°C lên 100°C

Dữ kiện dùng cho câu 24.4 và 24.5:

Trang 20

Kết quả thu được từ Matlab:

Trang 21

M = simpson_table(t5, f5);

disp(M);

Kết quả thu được từ Matlab:

Ngày đăng: 12/12/2022, 18:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w