Nó sẽ giúp sinh viên khốikỹ thuật tiếp thu vấn đề một cách nhẹ nhàng và trang bị những kỹ năng cơ bản chongười học tự phát triển khả năng áp dụng toán học vào các bài toán thực tế.. Tran
Trang 1ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO BÀI TẬP LỚN
GIẢI TÍCH 2
Đề tài số 9:
Giáo viên hướng dẫn: Nguyễn Hữu Hiệp
Lớp: L24
Nhóm: 9
Trang 2MỤC LỤC
CHƯƠNG 1 : MỞ ĐẦU 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
1 Cực trị địa phương của hàm nhiều biến 3
2 Điều kiện cần của cực trị ( Định lý Fermat) 3
3 Điều kiện đủ của cực trị 4
CHƯƠNG 3 : MATLAB 5
1 Giới thiệu về matlab 5
2 Các hàm trong matlab được sử dụng trong bài báo cáo: 6
3 Yêu cầu: 7
3.1 Đoạn code Matlab: 7
3.2 Bài toán cụ thể: 9
3.2.1 Phương pháp giải: 9
3.2.2 Giải bài toán: 9
3.2.3 Giải bài toán bằng Matlab: 10
Kết quả: 10
Đồ thị: 10
3.2.4 Một số ví dụ tương tự: 11
3.2.5 Giải bài toán bằng sơ đồ khối: 13
CHƯƠNG 4: TỔNG KẾT 14
TÀI LIỆU THAM KHẢO 15
Trang 3CHƯƠNG 1 : MỞ ĐẦU
Giải tích 2 là môn học đại cương có tầm quan trọng đối với sinh viên ĐH Bách Khoa nói riêng và sinh viên các ngành khối khoa học kỹ thuật công nghệ nói chung Mục đích môn học là cung cấp đầy đủ nội dung cơ bản của Giải tích hàm nhiều biến
và Lý thuyết chuỗi dùng cho các ngành khoa học kỹ thuật Nó sẽ giúp sinh viên khối
kỹ thuật tiếp thu vấn đề một cách nhẹ nhàng và trang bị những kỹ năng cơ bản cho người học tự phát triển khả năng áp dụng toán học vào các bài toán thực tế
Môn Giải tích 2 bao gồm các kiến thức cơ bản về vi tích phân hàm nhiều biến,
lý thuyết trường và chuỗi Cùng với đó là các chuẩn đầu ra: Nhắc lại được định nghĩa, tính chất, cách tính các đôi tượng của lý thuyết vi tích phân hàm nhiều biến và chuỗi, vận dụng được lý thuyết vào các bài toán áp dụng và bài toán thực tế , có khả năng hoạt động nhóm
Trang 4CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1 Cực trị địa phương của hàm nhiều biến
Định nghĩa: z = f(x,y), (x,y) D R2, M0(x0,y0) là một điểm trong của D Giả
sử U là một lân cận đủ nhỏ của M0
* M U mà f(M) f(M0) thì:
- M0 gọi là điêm cực tiểu của hàm f(x,y);
- Hàm f(x,y) được gọi là đạt cực tiểu tại M0,
- f(M0) gọi là giá trị cực tiểu
* Tương tự với cực đại
Điểm cực tiểu, cực đại gọi chung là điểm cực trị; giá trị cực đại, giá trị cực tiểu gọi chung là cực trị
2 Điều kiện cần của cực trị ( Định lý Fermat)
Nếu hàm f(x,y) đạt cực trị địa phương tại M0(x0,y0) có các đạo hàm riêng tài đó thì fx’(x0,y0) = fy’(x0,y0) = 0
Điểm mà tại đó các đạo hàm riêng của f đều bằng 0 được gọi là điểm dừng của hàm Chú ý rằng định lý trên chỉ cho ta điều kiện cần để có cực trị, nên điểm dừng chưa chắc là điểm cực trị
Trang 53 Điều kiện đủ của cực trị
Giả sử z = f(x,y) nhận M0(x0,y0) là một điểm dừng và f(x,y) có các đạo hàm riêng cấp 2 liên tục trong một lân cận của M0(x0,y0) Đặt:
A = fxx’’(x0,y0),
B = fxy’’(x0,y0), => AC- B2
C = fyy’’(x0,y0)
Khi đó ta có:
- Nếu < 0 thì hàm số không đặt cực trị tại M0(x0,y0), để tiện lợi, người ta gọi điểm M0 ở trường hợp này là điểm yên ngựa
- Nếu > 0 thì hàm số đặt cực trị tại (x0,y0);
{ (x0, y0)làđiểm cực đại A<0 ;
(x0, y0)làđiểm cực tiểu khi A>0.
- Nếu = 0 thì chưa kết luận được hàm số f(x,y) có đặt cực trị tại M0(x0,y0) hay không
Từ định lý trên ta có thể tìm cực trị của hàm z = f(x,y) theo các bước sau đây:
Bước 1: Tính các đạo hàm riêng
Bước 2: Tìm các điểm dừng bằng cách giải hệ phương trình sau
{f x '(x , y)=0
f y '( x , y)=0
Bước 3: Ứng với mỗi điểm (x0,y0), đặt:
A = fxx’’(x0,y0),
B = fxy’’(x0,y0), => AC- B2
C = fyy’’(x0,y0)
Xét dấu của và của A để kết luận
Trang 6Lưu ý: để có kết luận đầy đủ về cực trị ta còn phải xét riêng trương hợp điểm
dừng mà tại đó = 0 và xét các điểm mà tại đó không tồn tại đạo hàm riêng cấp 1 hay cấp 2
CHƯƠNG 3 : MATLAB
1 Giới thiệu về matlab
Hoàn cảnh ra đời : Matlab là viết tắt từ “MATrix LABoratory“, được Cleve
Moler phát minh vào cuối thập niên 1970, và sau đó là chủ nhiệm khoa máy tính tại Đại học New Mexico
MATLAB, nguyên sơ được viết bởi ngôn ngữ Fortran, cho đến 1980 nó vẫn chỉ
là một bộ phận được dùng nội bộ của Đại học Stanford
Năm 1983, Jack Little, một người đã học ở MIT và Stanford, đã viết lại MATLAB bằng ngôn ngữ C và nó được xây dựng thêm các thư viện phục vụ cho thiết
kế hệ thống điều khiển, hệ thống hộp công cụ (tool box), mô phỏng… Jack xây dựng MATLAB trở thành mô hình ngôn ngữ lập trình trên cơ sở ma trận (matrix-based programming language).
Steve Bangert là người đã viết trình thông dịch cho MATLAB Công việc này kéo dài gần ½ năm Sau này, Jack Little kết hợp với Moler và Steve Bangert quyết định đưa MATLAB thành dự án thương mại – công ty The MathWorks ra đời thời gian này – năm 1984
Trang 72 Các hàm trong matlab được sử dụng trong bài báo cáo:
- Syms: Khai báo biến x và y để định nghĩa hàm số f(x,y) và đạo hàm của nó
- Input: Yêu cầu người dùng nhập hàm số f(x,y)
- Solve: Giải hệ phương trình đạo hàm riêng bằng 0 để tìm cực trị của hàm số
- Meshgrid: Tạo ra lưới điểm trên một miền xác định và tính toán giá trị của hàm
số f(x,y) tại các điểm đó
- Mesh: Vẽ đồ thị hàm số f(x,y)
- Scatter: Vẽ các điểm cực trị trên đồ thị của hàm số f(x,y)
- Hold on : hàm để vẽ nhiều đồ thi trên cùng 1 hệ tọa độ
- Xlabel, ylabel: đặt tên cho 2 trục ox và oy
Trang 83 Yêu cầu:
Đề 9: Viết một code ( tuỳ chọn ứng dụng/ phần mềm) tìm cực trị của một hàm số f(x,y), liên tục trên R2 ( cho phép người dùng nhập f(x,y)) Trường hợp =
0 chỉ đưa ra thông báo Vẽ đồ thị phần mặt cong xung quanh các điểm cực trị và điểm yên ngựa, đánh dấu các điểm này
3.1 Đoạn code Matlab:
syms x y
f = input('NHAP HAM SO f(x,y)= ');
df_dx=diff(f,x,1);
df_dy=diff(f,y,1);
s=solve(df_dx,df_dy,x,y); points = [s.x,s.y];
A=diff(df_dx,x,1);
C=diff(df_dy,y,1);
B=diff(df_dx,y,1);
Delta=A*C-B^2;
[X,Y] = meshgrid(-100:1:100);
Z = double(subs(f, {x,y}, {X,Y}));
mesh(X,Y,Z)
xlabel('x');
ylabel('y');
zlabel('f(x,y)');
axis auto
for i = 1:size(points, 1)
Trang 9if(isreal(points(i,1))&&isreal(points(i,2)))
if((double(subs(Delta,{x,y}, {points(i,1),points(i,2)}))>0)&&(double(subs(A,x,points(i,1)))>0))
disp('Diem cuc tieu');
disp(points(i,:));
hold on
scatter(points(i,1), points(i,2), 'ro', 'filled')
hold off
end
if((double(subs(Delta,{x,y}, {points(i,1),points(i,2)}))>0)&&(double(subs(A,x,points(i,1)))<0))
disp('Diem cuc dai');
disp(points(i,:));
hold on
scatter(points(i,1), points(i,2), 'ro', 'filled')
hold off
end
if(double(subs(Delta,{x,y},{points(i,1),points(i,2)}))==0)
disp('Delta = 0');
disp(points(i,:));
end
if(double(subs(Delta,{x,y},{points(i,1),points(i,2)}))<0)
disp('Diem yen ngua');
disp(points(i,:));
end
end
end
Trang 103.2 Bài toán cụ thể:
Tìm cực trị của hàm số f(x,y) = x3 + 2y3 - 3x2 - 6y
3.2.1 Phương pháp giải:
Bước 1: Tính các đạo hàm riêng
Bước 2: Tìm các điểm dừng bằng cách giải hệ phương trình sau
{f x '(x , y)=0
f y '( x , y)=0
Bước 3: ứng với mỗi điểm (x0,y0), đặt:
A = fxx’’(x0,y0),
B = fxy’’(x0,y0), => AC- B2
C = fyy’’(x0,y0)
Xét dấu của và của A để kết luận
3.2.2 Giải bài toán:
f(x,y) = x3 + 2y3 - 3x2 - 6y
{f x '=3 x2−6 x=0≤¿[x =0 x=2
f y '=6 y2−6=0≤¿[ y=1
y=−1
=> 4 cặp điểm dừng là (2;1), (2;-1), (0;1), (0;-1)
Trang 11 A={ f xx ' '(2 ;1)=6 x−6=6
f xx ' '(2 ;−1)=6 x−6=6
f xx ' ' (0 ;1)=6 x−6=−6
f xx ' '(0 ;−1)=6 x−6=−6
B={ f xy ' '(2 ;1)=0
f xy ' '(2 ;−1)=0
f xy ' ' (0 ;1)=0
f xy ' '(0 ;−1)=0
C=
{ f yy ' ' (2 ;1)=12 y=12
f yy ' ' (2 ;−1)=12 y=−12
f yy ' ' (0 ;1)=12 y =12
f yy ' ' (0 ;−1)=12 y=−12
AC- B2 => (2 ;1)=6 12−02=72> 0
A (2 ;1)=6>0 } => (2;1) là điểm cực tiểu
(0;−1)=(−6).(−12)−02=72>0
A (0 ;−1)=−6<0 } => (0;-1) là điểm cực đại
(2 ;−1)=6 (−12)−02=−72<0 => (2;-1) là điểm yên ngựa
(0 ;1)=(−6) 12−02=−72<0 => (0;1) là điểm yên ngựa
3.2.3 Giải bài toán bằng Matlab:
Kết quả:
Trang 12 Đồ thị:
3.2.4 Một số ví dụ tương tự:
f( x,y) = x 2 + y 2 + xy + x - y + 1.
Kết quả:
Trang 13 Đồ thị:
f(x,y) = (x-1) 2 + 2y.
Kết quả:
Trang 14 Đồ thị:
3.2.5 Giải bài toán bằng sơ đồ khối:
Trang 15BẮT ĐẦU
HÀM SỐ f(x,y)
GIẢI HỆ PHƯƠNG TRÌNH KHI ĐẠO HÀM RIÊNG CỦA x VÀ y BẰNG 0
CÁC ĐIỂM DỪNG
CÁC GIÁ TRỊ A, B VÀ C TẠI CÁC ĐIỂM
DỪNG
AC- B2
CỰC TRỊ
KẾT THÚC
Trang 16CHƯƠNG 4: TỔNG KẾT
- Bài báo cáo trên của chúng em đã hoàn thành được bài toán của giáo viên giao cho với đề tài : “Viết một code ( tuỳ chọn ứng dụng/ phần mềm) tìm cực trị của một hàm số f(x,y), liên tục trên R2 ( cho phép người dùng nhập f(x,y)) Trường hợp = 0 chỉ đưa ra thông báo Vẽ đồ thị phần mặt cong xung quanh các điểm cực trị và điểm yên ngựa, đánh dấu các điểm này.”
- Kết quả đồ thị đạt được trên Matlab theo đúng với dự tính và đồng thời đúng với hình dáng của đồ thị so với các phần mềm khác
Trang 17TÀI LIỆU THAM KHẢO
https://www.mathworks.com/products/matlab.html
https://uet.vnu.edu.vn/~tantd/dieukhien/Chuong%201%20Matlab%20co%20ban.pdf
https://www.youtube.com/playlist?list=PLhFjtzzUovr_qSf2sNs8UC7zo85OMUQTk
https://viblo.asia/p/mot-so-ham-thong-dung-trong-matlab-de-ve-do-thi-RQqKLxebK7z
https://sami.hust.edu.vn/wp-content/uploads/Giai-tich-22.pdf
Sách giáo trình giải tích 2