ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO BÀI TẬP LỚN MÔN HỌC: GIẢI TÍCH 2 CHỦ ĐỀ 1: TÌM ĐƯỜNG ĐI CÓ ĐỘ DỘC LỚN NHẤT NHÓM LỚP: L09 - Nhóm 1GVHD: Đoàn Thị Tha
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: GIẢI TÍCH 2
CHỦ ĐỀ 1: TÌM ĐƯỜNG ĐI CÓ ĐỘ DỘC LỚN NHẤT
NHÓM LỚP: L09 - Nhóm 1GVHD: Đoàn Thị Thanh Xuân
Huỳnh Thị Vu
TP HỒ CHÍ MINH, THÁNG 12/2023
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: GIẢI TÍCH 2
CHỦ ĐỀ 1: TÌM ĐƯỜNG ĐI CÓ ĐỘ DỘC LỚN NHẤT
DANH SÁCH THÀNH VIÊN
STT MSSV HỌ VÀ TÊN Nhiệm vụ
1 2312045 Bùi Ngọc Minh Tìm hiểu định nghĩa đường đi có độ dốc lớn nhất
2 2014588 Cao Phúc Thịnh Viết code Matlab cho bài toán
3 2312679 Huỳnh Trần Bá Phúc Tổng hợp, điều chỉnh, cắt ghép video quá trình
4 2313568 Nguyễn Bùi Quốc Triệu Ví dụ minh họa cho bài toán đường đi có độ dốc lớn nhất
5 2310404 Trần Doãn Cường Tìm hiểu lý thuyết đạo hàm theo hướng
6 2313446 Trương Phước Tiến Tổng hợp lý thuyết, biên soạn báo cáo latex
7 2312391 Trương Thái Nguyên Viết code Matlab cho bài toán
8 2312637 Vũ Phan Khánh Phong Tìm hiểu lý thuyết vector Gradient
9 2312209 Vũ Văn Nam Tìm hiểu phương pháp xác định đường đi có độ dốc lớn nhất
Trang 3NHẬN XÉT VÀ CHẤM ĐIỂM CỦA THẦY CÔ
Trang 4LỜI NGỎ
Giải tích 2 là môn học quan trọng đối với sinh viên, cung cấp nhiều kiến thức bổ ích với ứngdụng thực tiễn Sự phát triển của các chuyên ngành khoa học như Vật lý, Hóa học đều gắn liềnvới Toán học nói chung và Giải tích nói riêng
Đề tài "Tìm đường đi có độ dốc lớn nhất" là đề tài mới mẻ, đầy thách thức nhưng cũngkhông kém phần thú vị Trong quá trình thực hiện báo cáo, chúng em đã phân chia công việc rõràng, mục đích đi sâu vào tìm hiểu lý thuyết cũng như phương pháp tìm đường đi có độ dốc lớnnhất, trả lời những câu hỏi mà đề bài đưa ra
Bài báo cáo gồm ba phần chính Gồm: Cơ sở lý thuyết, Xử lý bài toán trong Matlab và Kếtluận Chúng em mong bài báo cáo sẽ mang lại cái nhìn tổng quan và cung cấp đầy đủ nhữngthông tin hữu ích về đề tài
Xin trân trọng cảm ơn!
Trang 5GIỚI THIỆU ĐỀ TÀI
Tìm đường đi có độ dốc lớn nhất (The path of steepest ascnet/descnent)
Tham khảo: Soo T.Tan - Multivariable Caculus - Brooks Cole (2009)
1 Trình bày cơ sở lý thuyết về đạo hàm theo hướng và Vector gradient
2 Đường đi có độ dốc lớn nhất đối với hàm hai biến z = f (x, y)
Trang 6Mục lục
1.1 Đạo hàm theo hướng và vector gradient 6
1.1.1 Đạo hàm theo hướng: 6
1.1.2 Vector gradient: 9
1.2 Đường đi có độ dốc lớn nhất với một hàm 2 biến 11
1.2.1 Định nghĩa 11
1.2.2 Cách xác định đường đi có độ dốc lớn nhất 11
1.2.3 Ví dụ minh họa 11
2 Xử lý bài toán trong Matlab 12 2.1 Để bài 12
2.2 Đoạn code được sử dụng 12
2.3 Các lệnh được sử dụng 14
2.4 Hình ảnh kết quả tương ứng 15
3 Kết luận 17 3.1 Những gì đã đạt được 17
3.2 Những gì chưa đạt được 17
3.3 Hướng cải thiện 17
4
Trang 7Danh sách hình vẽ
1.1 Vector đơn vị u 6
1.2 Mặt phẳng P và tiếp tuyến 7
1.3 Minh họa vd 1 7
1.4 Minh họa vd 2 8
1.5 Minh họa vd 3 11
2.1 Phương trình cần tìm 15
2.2 Đồ thị hàm số và gradient tại điểm P cùng với các đường mức 15
2.3 Mặt cong xung quanh điểm P và đường đi trên mặt cong 16
5
Trang 8Chương 1
Cơ sở lý thuyết
1.1 Đạo hàm theo hướng và vector gradient
1.1.1 Đạo hàm theo hướng:
bề mặt S của phương trình z = f (x, y) (Đồ thị của f ) và để z0 = f (x0, y0) Sau đó, điểm
P (x0, y0, z0) nằm trên S Mặt phẳng thẳng đứng đi qua P theo hướng của u giao nhau giữa
S và đường cong C (Xem hình 1.2) Hệ số góc đường tiếp tuyến T tới C tại điểm P là tốc độthay đổi của z theo hướng của u
Hình 1.1: Vector đơn vị u
6
Trang 9Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
- Đạo hàm có hướng của f tại (x0, y0) theo hướng của vecto đơn vị u = (a, b) là:
Duf (x0, y0) = lim
h→0
f (x0+ ha, y0+ hb) − f (x0, y0)
h
Tồn tại nếu giới hạn này tồn tại
- Nhận xét: Các đạo hàm riêng của f đối vơi x và y chỉ là trường hợp đặc biệt của đạo hàm
có hướng
- Ví dụ 1: Sử dụng bản đồ (Hình 1.3) thời tiết để ước tính giá trị của chỉ thị của hàm nhiệt
độ tại Reno theo hướng Đông Nam
Hình 1.3: Minh họa vd 1
Trang 10Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Giải: Vectơ đơn vị theo hướng về phía Đông Nam là u = (i − j)/√
2 Nhưng chúng ta khôngcần thiết phải sử dụng biểu thức này Chúng ta bắt đầu bằng cách vẽ một đường qua Reno vềphía Đông Nam (Hình 1.3) Chúng ta sẽ tính gần đúng đạo hàm có hướng DuT bằng tốc độthay đổi nhiệt độ trung bình giữa các điểm mà đường thẳng này cắt các đường đẳng nhiệt T
= 50 và T = 60 Nhiệt độ ở điểm phía Đông Nam của Reno là T = 60◦F và nhiệt độ ở điểmphía Tây Bắc Reno là T = 50◦F Khoảng cách giữa các điểm này là khoảng 75 dặm Vì vậy,tốc độ thay đổi của nhiệt độ ở các hướng Đông nam là: DuT ≈ 60−5075 =1075 ≈ 0.13◦F/mi
c Khi chúng ta tính đạo hàm có hướng của một hàm được xác định bởi một công thức, chúng
g′(h) = ∂f∂x.dxdh+∂f∂y.dydh = fx(x, y)a + fy(x, y)b (2)
- Nếu bây giờ chúng ta đặt h = 0, sau đó x = x0, y = y0, và:
g′(0) = fx(x0, y0)a + fy(x0, y0)b
- So sánh phương trình (1) và (2), ta thấy:
Duf (x0, y0) = fx(x0, y0)a + fy(x0, y0)b
- Nếu vectơ đơn vị u tạo ra một góc θ với trục dương x, thì ta có thể viết u = (cos θ, sin θ) vàcông thức trong định lý trở thành:
Duf (x0, y0) = fx(x, y) cos θ + fy(x, y) sin θ (3)
- Ví dụ 2: Tìm đạo hàm có hướng Duf (x, y) nếu f (x, y) = x3− 3xy + 4y2 và u là vectơ đơn
vị được cho bởi góc θ = π/6 (Hình 1.4) Tìm Duf (1, 2)?
Hình 1.4: Minh họa vd 2
Trang 11Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Giải: Theo công thức (3), có:
Duf (x, y) = fx(x, y) cos π/6 + fy(x, y) sin π/6
= (3x2− 3y)
√ 3
2
1.1.2 Vector gradient:
a Định nghĩa:
- Đạo hàm có hướng có thể được viết dưới dạng tích vô hướng của đơn vị vector: u = u1i + u2j
và vector: fx(x, y)i + fy(x, y)j
Như vậy:
Duf (x, y) = (u1i + u2j).(fx(x, y)i + fy(x, y)j) = fx(x, y)u1+ fy(x, y)u2
- Vector fx(x, y)i + fy(x, y)j đóng vai trò quan trọng trong nhiều sự tính toán Vì vậy, ta đặtcho nó một cái tên đặc biệt (gradient của f ) và một kí hiệu đặc biệt (grad f hoặc ▽f )
- Nếu f là một hàm của 2 biến x và y, thì gradient của f là hàm vectơ ▽f được xác định bởi:
▽f (e, π) = (sin +e)i + (e cos π + lne)j = ei + (1 − e)j
- Nếu f là một hàm khả vi của x và y, thì f có đạo hàm có hướng theo hướng của mọi vectơđơn vị u:
5, vector đơn vị theo hướng là:
Trang 12Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
b Tính chất của vector Gradient:
Cho f khả vi tại (x, y):
• Nếu ▽f(x, y) = 0 thì Duf (x, y) = 0 với mọi u
• Giá trị lớn nhất của Duf (x, y) là |▽f (x, y)|, khi u có cùng hướng với ▽f (x, y)
• Giá trị nhỏ nhất của Duf (x, y) là −|▽f (x, y)|, khi u có cùng hướng với −▽f (x, y)
Duf (x, y, z) = fx(x, y, z)u1+ fy(x, y, z)u2+ fz(x, y, z)u3
- Vector gradient cỉa f là:
Trang 13Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
1.2 Đường đi có độ dốc lớn nhất với một hàm 2 biến
1.2.1 Định nghĩa
- Giả sử chúng ta có hàm f của hai hoặc ba biến và ta xét tất cả các đạo hàm theo hướng có thểcủa hàm f tại một điểm cho trước Điều này cho chúng ta biết tốc độ thay đổi của f theo mọihướng Chúng ta có thể đặt ra câu hỏi rằng: Liệu trong những hướng này, hướng nào f thay đổinhanh nhất và tốc độ thay đổi tối đa là bao nhiêu? Câu trả lời được thể hiện trong các định lýsau: "Giả sử f là một hàm hai biến hoặc ba biến phân biệt Các giá trị lớn nhất của đạo hàm
có hướng:
Duf = ▽f • u = |▽f |.|u| cos θ = |▽f | cos θ
- Trong đó: θ là góc giữa ▽f và u - Giá trị lớn nhất khi cos θ = 1 và nó xảy ra khi θ = 0 Do
đó giá trị lớn nhất của Duf (x) là |▽f | và nó xảy ra khi và chỉ khi θ = 0, nghĩa là, khi u cùnghướng với ▽f Điều đó đồng nghĩa đường đi có độ dốc lớn nhất chính là độ lớn của ▽f khi ucùng hướng với ▽f
1.2.2 Cách xác định đường đi có độ dốc lớn nhất
Để xác định đường đi có độ dốc lớn nhất tại một điểm, ta sử dụng vector gradient Bằng cáchtính gradient tại điểm đó, trước tiên ta đạo hàm riêng hàm số theo 2 biến x và y, sau đó thế 2điểm x, y tại điểm cần tìm vào 2 đạo hàm riêng để có được hướng đi có độ dốc lớn nhất
1.2.3 Ví dụ minh họa
Tìm đường đi có độ dốc lớn nhất của f (x, y) = 4y√
x, điểm bắt đầu có tọa độ (4,1)
- Tại điểm bắt đầu (4,1), gradient tại điểm này là ▽f = (1, 8)
Vậy hướng đi lớn nhất của f (x, y) là (1,8)
Đồ thị của ví dụ:
Hình 1.5: Minh họa vd 3
Trang 142.2 Đoạn code được sử dụng
% Dinh nghia ham so f(x, y) = 4*y*sqrt(x);
syms x y;
f(x, y) = input(’Nhap gia tri f(x, y) = ’);
% 4*y*sqrt(x);
% Nhap diem P(x0, y0) cua minh (4,1)
% Bai cua minh f(x,y) = 4*y*sqrt(x);
x0 = input(’Nhap gia tri x0: ’);%x=4
y0 = input(’Nhap gia tri y0: ’);%y=1
% Xac dinh dao ham rieng theo x và y
df_dx = diff(f, x);
df_dy = diff(f, y);
% Tinh dao ham rieng tai diem P
df_dx0 = double(df_dx(x0, y0));
df_dy0 = double(df_dy(x0, y0));
% Xac dinh phuong trinh duong di tang nhanh nhat và giam nhanh nhat
% dao ham = 0 => bo (close) nhap lai
if df_dx0 == 0 && df_dy0 == 0
disp(’Ham so khong thay doi quanh diem P’);
else
12
Trang 15Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
% Phuong trinh duong di tang nhanh nhat
gradient_x = double(subs(diff(f, x), [x, y], [x0, y0]));
gradient_y = double(subs(diff(f, y), [x, y], [x0, y0]));
% Hien thi gradient cua ham so tai diem P
disp([’Tai diem bat dau (’, num2str(x0), ’,’, num2str(y0), ’) Gradient cua ham so la: [’, num2str(gradient_x),
level_values = linspace(-50, 100, 60);%so duong muc
contour(real(X), real(Y), real(Z), level_values);%do bai sqrt(x) nen phai dang real (>=0)
% Ve duong di tang/giam nhanh nhat
hold on;
quiver(x0, y0, gradient_x, gradient_y, ’b’, ’LineWidth’, 2);%tang xanh
quiver(x0, y0, -gradient_x, -gradient_y, ’r’, ’LineWidth’, 2);%giam do
hold off;
% dat tieu de và nhan cho do thi
title(’Do thi cua ham so va gradient tai diem P cung voi các duong muc’);
xlabel(’x’);
ylabel(’y’);
legend(’Do thi cua ham so’, ’duong di tang nhanh nhat ’, ’duong di giam nhanh nhat’);
% Hien thi grid
grid on;
% Vi phan mat cong xung quanh diem P
% Tao figure thu hai
figure(’Position’, [100, 100, 600, 600]);
% Ve mat cong xung quanh diem P và duong di tren mat cong
surf_x = linspace(x0-1, x0+1, 100);
Trang 16Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
surf_y = linspace(y0-1, y0+1, 100);
[SX, SY] = meshgrid(surf_x, surf_y);
SZ = double(subs(f, [x, y], SX, SY));
surf(SX, SY, SZ, ’FaceAlpha’, 0.5, ’EdgeColor’, ’none’);%ve mat phang 3D
plot3(x_path, y_path, z_path, ’k’, ’LineWidth’, 2);
% Dat tieu de và nhan cho do thi
title(’Mat cong xung quanh diem P và duong di tren mat cong’);
Double Chuyển đổi sang số thập phân
Real Chuyển đổi sang số thực
If-else Câu lệnh điều kiện
Num2str Chuyển đổi số sang chuỗi ký tự
Subs Thay thế tượng trưng
Figure Vẽ thêm đồ thị và không xóa đồ thị cũ
Meshgrid Tạo đồ thị lưới 2D/3D
Linespace Tạo vector giá trị cách nhau tuyến tính giữa hai điểm cuối
Contour Đồ thị đường viền của ma trận
Quiver Hiển thị vector dưới dạng mũi tên
Plot Lệnh vẽ đồ thị hàm số
Tittle Đặt tên đồ thị
Xlabel thêm nhãn dán vào trục x
Legend Thêm chú giải vào trục
Grid on Hiển thị đường lưới trên đồ thị
Hold on Thêm đường mới vào hệ trục hiện tại, không bỏ đường cũ
Hold off Bỏ cửa sổ figure hiện tại, thay bằng đồ thị mới
Trang 17Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
2.4 Hình ảnh kết quả tương ứng
Trong bài này, hàm được nhập vào là 4.y.√
xĐiểm P với x0= 4, y0= 1
Kết quả trả về:
• Phương trình đường đi mà độ cao mặt cong tăng / giảm nhanh nhất
Hình 2.1: Phương trình cần tìm
• Vẽ bản đồ đường mức f(x, y) xung quanh (x0, y0) và đường đi tìm được
Hình 2.2: Đồ thị hàm số và gradient tại điểm P cùng với các đường mức
Trang 18Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
• Vẽ phần mặt cong xung quanh P và đường đi trên mặt cong
Hình 2.3: Mặt cong xung quanh điểm P và đường đi trên mặt cong
Trang 19Chương 3
Kết luận
3.1 Những gì đã đạt được
• Mục tiêu đề ra: Nhóm đã hoàn thành chính xác tất cả mục tiêu đề ra ban đầu
• Củng cố, nâng cao kiến thức: Đề tài đường đi có độ dốc lớn nhất đã cung cấp thêm nhiềukiến thức bổ ích đồng thời giúp củng cố thêm những kiến thức đã được học
• Sự hợp tác: Các thành viên đã có sự giao tiếp, trao đổi để cùng nhau hoàn thành đề tàimột cách hiệu quả nhất
• Nâng cao kỹ năng mềm: Bên cạnh kiến thức, những kỹ năng cần thiết như giao tiếp, tiếpthu ý kiến, phân tích vấn đề, được cải thiện đáng kể
• Mở rộng thêm nhiều kỹ năng: Đề tài yêu cầu phần soạn thảo và lập trình giúp sinh viênđược học hỏi thêm
3.2 Những gì chưa đạt được
• Mâu thuẫn nội bộ: Đôi lúc không thể tránh khỏi một vài bất đồng về ý kiến, quan điểm
• Thiếu tài nguyên: chưa tìm được nhiều tài liệu mở rộng hơn cho bài toán
3.3 Hướng cải thiện
Tăng cường giao tiếp giữa các thành viên, không bảo thủ, học cách lắng nghe và tiếp thu cái haycủa từng người Trao đổi thông tin nhiều hơn, giúp đỡ nhau tìm kiếm nguồn tài liệu mới mẻ,hay ho dù không phải là nhiệm vụ chính của mình
17
Trang 20Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
LỜI CẢM ƠN
Chúng em xin trân trọng cám ơn cô Đoàn Thị Thanh Xuân - giảng viên bộ môn Giải Tích
2 (lý thuyết) và cô Huỳnh Thị Vu - giảng viên bộ môn Giải Tích 2 (bài tập) đã đưa ra nhữngđịnh hướng tối ưu, cùng với hướng dẫn trình bày để thu được thành phẩm hoàn hảo nhất Cảm
ơn thầy cô đã trang bị cho chúng em đầy đủ những kiến thức cần thiết để thực hiện đề tài
Có thể nói kiến thức là vô tận và khả năng tiếp nhận kiến thức của mỗi người luôn tồn tạinhững hạn chế nhất định Chính vì thế, trong quá trình thực hiện chúng em khó tránh khỏinhững thiếu sót Nhóm em rất mong sẽ nhận được những đánh giá và góp ý của thầy cô để bàibáo cáo được hoàn thiện và chỉnh chu nhất
Chân thành cảm ơn thầy cô!
Trang 21Tài liệu tham khảo
[1] Soo Tang Tan (2009), Multivariable Calculus Brooks/cole
[2] Nguyễn Đình Huy và nnk (2016) Giáo trình GIẢI TÍCH 2 Việt Nam: NXB Đại học Quốcgia TP Hồ Chí Minh
[3] Nguyễn Triệu Phong, 2021, Tổng hợp các lệnh lập trình tính toán trên Matlab
mathlab.html”
“https://www.nguyentrieuphong.com/2020/03/tong-hop-cac-lenh-lap-trinh-19