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

Báo cáo bài tập lớn môn phương pháp tính Đề tài 2 – nhóm 5 – l11 Ý tưởng phương pháp cầu phương gauss

38 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 38
Dung lượng 349,92 KB

Nội dung

Ý tưởng phương pháp cầu phương GAUSS - Công thức cầu phương Gauss là một phương pháp tính gần đúng tích phân xác định được đặttên theo nhà toán học Carl Friedrich Gauss- người phát triển

Trang 1

BÁO CÁO BÀI TẬP LỚN Môn : Phương pháp tính

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

1 Ý tưởng phương pháp cầu phương GAUSS 2

2 Thuật toán phương pháp cầu phương GAUSS 3

PHẦN II: BÀI TẬP 4

1 BÀI TẬP PROJECT 2 4

Vấn đề 1: 4

Vấn đề 2: 9

Vấn đề 3: 12

2 LẬP TRÌNH GIẢI MÃ ĐỀ FINAL 183 14

CÂU 1: 14

CÂU 2: 17

CÂU 3: 20

CÂU 4: 22

CÂU 5: 24

CÂU 6: 27

CÂU 7: 28

CÂU 8: 30

CÂU 9: 31

CAU 10: 34

PHẦN III: KẾT LUẬN 37

PHẦN IV: TÀI LIỆU THAM KHẢO 37

1

Trang 3

PHẦN I: LÝ THUYẾT

1 Ý tưởng phương pháp cầu phương GAUSS

- Công thức cầu phương Gauss là một phương pháp tính gần đúng tích phân xác định được đặttên theo nhà toán học Carl Friedrich Gauss- người phát triển phương pháp này

- Ở đây ta chỉ xét công thức Gauss-Legendre

- Ý tưởng của phương pháp là xấp xỉ tích phân I bằng một tổng hữu hạn

- Công thức trên luôn đúng với mọi hàm f(x) là đa thức bậc nhỏ hơn 2n

- Ta có thể xác định trước các điểm x i và xét tích phân I=∫

Trang 4

B2+ +x n2

B n=23

2 Thuật toán phương pháp cầu phương GAUSS

- Nhập các dữ liệu cần thiết (hàm f(x), cận trên, cận dưới, số điểm Gauss)

- Khai báo vị trí x và trọng số B dưới dạng ma trận, giải hệ tìm B

3

Trang 5

PHẦN II: BÀI TẬP

1 BÀI TẬP PROJECT 2

Vấn đề 1:

Giả sử rằng chúng ta có một bể hình trụ ngang được cho trong hình dưới đây:

Ở đây, r, h, L lần lượt là bán kính của bể, độ sâu của chất lỏng và chiều dài của bể

a) Giải thích chi tiết rằng thể tích của chất lỏng trong bể là:

b) Cho V = 8 (m3), L = 5 (m), r = 2 (m), xác định h bằng phương pháp chia đôi và phương pháp dây cung với sai số nhỏ hơn (Đoán khoảng cách biệt chứa nghiệm)

c) Đề xuất một cách để tìm h với dữ liệu đã cho trong câu hỏi trước bằng phương pháp điểm cố định (tức là, bạn đưa phương trình về dạng tương đương x = g(x), nơi g(x) là một hàm làm cho phương pháp điểm cố định khả thi) Nếu có thể, xác định h với sai số tiên nghiệm nhỏ hơn (Chọn h0 ngẫu nhiên)

d) Với phương pháp Newton-Raphson, chọn h0 thích hợp, xác định h với sai số nhỏ hơn

Trang 7

2 )−2(2−h)√h− h

2

4 ].58=[arccos(2−h

2 )−(2−h)

2 √h− h

2

4 ].4 58=[arccos(2−h

2 )−(2−h)

2 √h− h

2

4 ].208

20=arccos(2−h

2 )−(2−h)

2 √hh2

4arccos(2−h

2 )−(2−h)

2 √h− h2

4− 8

20=0Đặt f(h)=arccos(2−h

2 )−(2−h)

2 √h− h2

4− 820

Trang 8

Xét f(h)trên khoảng [0.74 ;0.75] (vì h ≤ r) là khoảng cách ly nghiệm của hàm

Phương pháp chia đôi:

Kết luận h =0.740015218 là nghiệm của phương trình với sai số −1.5848 ×10−9

c) Dựa vào đề bài, ta cần tìm một hàm h=f (h)

7

Trang 9

 (0.74;0.75) là khoảng ly nghiệm chứng minh từ câu (b) suy ra ta chọn h0=0.75

h9 là điểm bất động, là độ sâu của chất lỏng

Công thức sai số hậu nghiệm câu phương pháp lặp: |h n −h d|≤ k

Trang 10

Suy ra h=0.7400152181 là điểm biến động

Công thức sai số tổng quát |h n −h d||f (h n)|

Nhựa(g/thành phần)

Cao su(g/thành phần)

9

Trang 11

Nếu có tổng cộng 3,89, 0,095 và 0,282 kg kim loại, nhựa và cao su tương ứng mỗi ngày thì cóthể sản xuất được bao nhiêu linh kiện mỗi ngày? (Phải hiển thị các kết quả sau: Ma trận L, giảipháp của hệ thống Ly = B, Ma trận U, nghiệm của hệ Ux = y).

Giải

a)Đoạn code Matlab của bài toán:

Trang 14

Đường kính được đo tại một số điểm và được cho trong bảng:

Trang 15

Với M = 2,5, ta có

Chi phí xây dựng ống nước trên mặt đất là 5000$/1km

Chi phí xây dựng ống nước dưới lòng sông là 7000$/1km

AC = 1km

Trang 17

>0 tại x=5,5664 ⇒ F(x)' đạt cực tiểu tại x=5,5664

Sai số phương pháp chia đôi:

Vậy với M = 2,5 vị trí đặt trạm P để chi phí xây dựng ống nước là nhỏ nhất là trên đoạn CD cách

C một đoạn x gần bằng 5,5664 km Sai sô tuyệt đối của x là 0,0586 km

n= input('chu so hang don vi la ');

m= input('chu so hang chuc la ');

M=(m + 2*n + 12)/10;

e(1)= 2*M*1000 ;% chi phi xay dung 1km ong tren bo

e(2)= 2*(M+1)*1000;%chi phi xay dung 1km ong duoi nuoc

% su dung Pitago de tim AP va PB

AP = sqrt(1+x^2);

PB = sqrt(2^2+(M+5-x)^2);

fx = e(1)*AP+e(2)*PB; % ham chi phi xay dung ong

Trang 18

df = diff(fx); % dao ham ham chi phi

% Khoang cac gia tri x

% xuat ra man hinh

disp(['Voi gia tri M = ',sprintf('%.1f',M), ':']);

−1) Sử dụng phương pháp lặp Jacobi, tìm vecto lặp thứ

hai X( 2 ) và sai số tiên nghiệm của X( 2 ) với chuẩn vô cùng

Trang 19

m= input('chu so hang chuc la ');

M=(m + 2*n + 12)/10;

%Khai bao nhung du kien dau vao

% Nhap kich thuoc cua ma tran A

rows_A = input('Nhap so hang cua ma tran A: ');

cols_A = input('Nhap so cot cua ma tran A: ');

A= zeros(rows_A, cols_A);

% Nhap cac gia tri cua ma tran A

disp('Nhap cac gia tri cho ma tran A:');

Trang 21

%thiet lap ma tran T C tu cong thuc lap Jacobi

T = (D^-1)*(L+U);

C = (D^-1)*B;

x1 = T*x0+C; %tim x1 de tinh sai so tien nghiem

saiso = ((norm(T,inf))^N/(1-norm(T,inf)))*norm(x1-x0,inf); %tinh gia tri sai so tien nghiem theochuan vo cung

disp([' - Vecto lap thu hai X2 = [',sprintf('%10.4f', Xn),']']);

disp([' - Sai so tien nghiem cua X2 theo chuan vo cung = ',sprintf('%.4f',

ceil(saiso*(10^4))/(10^4))]); %lam tron sstn len

Trang 23

cout << "Gia tri cua A:" << u;

cout << "Gia tri cua B" << -k;

Trang 24

# a: Điểm bắt đầu của khoảng tích phân

# b: Điểm kết thúc của khoảng tích phân

# n: Số lượng đoạn chia khoảng tích phân

h = (b - a) / n  # Chiều rộng của mỗi đoạn

# Tính giá trị đầu tiên và cuối cùng

Trang 25

# Tính toán giá trị của a cho đến khi tích phân gần bằng 5.2

a_guess =0.5  # Giá trị đoán ban đầu của a

tolerance =0.001  # Sai số chấp nhận được

print("Giá trị của a để tích phân là 5.2:", a_guess)

Trong đoạn mã này, ta sử dụng phương pháp hình thang mở rộng để tính toán tích phân của (f(x)+sin(x)⋅f(x)) trên khoảng từ 1 đến 2.2, sau đó điều chỉnh giá trị của a cho đến khi kết quả tích phân xấp xỉ 5.2

Trang 26

# a: Điểm bắt đầu của khoảng tích phân

# b: Điểm kết thúc của khoảng tích phân

# n: Số lượng đoạn chia khoảng tích phân

h = (b - a) / n  # Chiều rộng của mỗi đoạn

x = np.linspace(a, b, n + 1)  # Các điểm chia khoảng

# Tính giá trị đầu tiên và cuối cùng

integral = g(a) + g(b)

25

Trang 27

# Tính sai số tuyệt đối của I

delta_I = np.abs(pi * delta_I_1 + 2 * pi * I_1 * delta_I_1 + delta_I_1**2)

print("Sai số tuyệt đối của I:", delta_I)

KẾT QUẢ:

Trang 29

K4 = zeros(1,n);

%Xay dung ma tran he so K va tim nghiem Y

for i = 1:1:n

X(i+1) = X(i) + h;

K1(i) = h*subs(f,[x y],[X(i) Y(i)]);

K2(i) = h*subs(f,[x y],[X(i)+h/2 Y(i)+K1(i)/2]);

K3(i) = h*subs(f,[x y],[X(i)+h/2 Y(i)+K2(i)/2]);

K4(i) = h*subs(f,[x y],[X(i)+h Y(i)+K3(i)]);

Y(i+1) = Y(i) + (K1(i)+2*K2(i)+2*K3(i)+K4(i))/6;

end

%Xuat ra man hinh

disp(['Voi M = ',sprintf('%.1f', M)]);

disp([' y(',sprintf('%.2f', X(2)),')',' = ',sprintf('%.4f', Y(2))]);

disp([' y(',sprintf('%.2f', X(3)),')',' = ',sprintf('%.4f', Y(3))]);

KẾT QUẢ:

CÂU 7:

Một bể chứa nước hình cầu bị thủng một lỗ nhỏ ở đáy, nước bị rò ra ngoài được mô tả bởi mô hình: (4Mh-h2)dh

dt=(−10−2¿√20 h Với h là mực nước trong bể tại thời điểm t(giây) Áp dụng

phương pháp Euler cải tiến, xác định mực nước trong bể sau 6 giây, biết mực nước ban đầu trong

bể là 2M và bước chia là 1(s)

Trang 31

CÂU 8 :

Cho phương trình vi phân bậc 2: (e x

+1) y ”(x)−xy’(x)+ y(x)=x+Mvới điều kiện ban đầu

y(1)=0và y ’(1)=M Tính gần đúng y(1.4) với bước chia h = 0.2 bằng phương pháp Euler cải tiến

n = 2; %so lan lap Euler cai tien (vi chi can tim den nghiem y(1.4))

%Chuyen thanh he thanh ptvp cap 1 (dat t(x) = y'(x))

Trang 32

K1y(i) = h*subs(f,[x y t],[X(i) Y(i) T(i)]);

K1t(i) = h*subs(g,[x y t],[X(i) Y(i) T(i)]);

K2y(i) = h*subs(f,[x y t],[X(i)+h Y(i)+K1y(i) T(i)+K1t(i)]);

K2t(i) = h*subs(g,[x y t],[X(i)+h Y(i)+K1y(i) T(i)+K1t(i)]);

Y(i+1) = Y(i) + (K1y(i)+K2y(i))/2;

T(i+1) = T(i) + (K1t(i)+K2t(i))/2;

Cho bài toán biên :

dùng phương pháp sai phân hữu hạn tính gần đúng y(0.75) , y(1.0) , y(1.25) với bước h = 0.25

31

Trang 33

%Khai bao cac gia tri dau vao

pk = M + x; %He so cua y''

qk = log(x); %He so cua y'

rk = -2*x^2; %He so cua y

fk = (x^2)*(x-1);

alpha = 2.5; %gia tri alpha

beta = M; %gia tri beta

H = [pk/(h^2)-qk/(2*h) rk-2*pk/(h^2) pk/(h^2)+qk/(2*h)]; %Cac he so cua ma tran A

%Xay dung ma tran A

for i = 1:1:n-1

for j = 1:1:n-1

if i == j

A(i,j) = subs(H(2),x,X(i));

Trang 34

Y = A^-1*B'; %tim nghiem

%xuat ra man hinh

disp(['Voi M = ',sprintf('%.1f', M),':']);

disp([' y(',sprintf('%.2f', X(1)),') = ',sprintf('%.4f', Y(1))]);

disp([' y(',sprintf('%.2f', X(2)),') = ',sprintf('%.4f', Y(2))]);

disp([' y(',sprintf('%.2f', X(3)),') = ',sprintf('%.4f', Y(3))]);

KẾT QUẢ:

33

Trang 35

CAU 10:

Máy quan sát đo quãng đường di chuyển của một xe đi trên đường thẳng theo bảng sau ( t đo

H = diff(T); % Thiet lap ma tran chua cac gia tri h

% Thiet lap ma tran chua cac gia tri C (spline bac 3 tu nhien co c0 va cn = 0)

Trang 36

G = sym(zeros(1, n)); % Ma tran chua ham` g

dG = sym(zeros(1, n)); % Ma tran chua ham` g'

% Xuat ra man` hinh cac gia tri da tinh toan

disp(['Voi gia tri M = ', sprintf('%.1f', M), ':']);

disp([' - Vi tri xe luc 3h = ', sprintf('%.4f', double(subs(G(1), x, 3))), ' km']);

disp([' - Van toc xe luc 6h = ', sprintf('%.4f', double(subs(dG(3), x, 6))), ' km/h']);

KẾT QUẢ:

35

Trang 38

PHẦN III: KẾT LUẬN

Qua đề tài số 2, nhóm chúng em đã tìm hiểu kĩ hơn về thuật toán cầu phương Gauss cũngnhư luyện tập và ôn tập kiến thức dựa trên các bài tập và code Nhóm 5 xin chân thành cảm ơn

cô đã hướng dẫn cho chúng em hoàn thiện đề tài một cách tốt nhất

PHẦN IV: TÀI LIỆU THAM KHẢO

1 Numerical_Methods_for_Engineers_7th_Edit

2 [Richard L Burden, J Douglas Faires, Annette M] Numerical Analysis (z-lib.org)

3 [Steven C Chapra, Raymon P Canale] Numerical Methods for Engineers 7th

Edit

4 [Steven C Chapra] Applied Numerical Methods with MATLAB® for

Engineers and Scientists Fourth Edition

5 Bài giảng Phương pháp tính – Đoàn Thị Thanh Xuân

37

Ngày đăng: 29/11/2024, 20:35

w