You are on page 1of 22

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
---------------o0o---------------

BÁO CÁO BÀI TẬP LỚN GIẢI TÍCH 2


GVDH: cô Nguyễn Ngọc Quỳnh Như

Nhóm thực hiện :Nhóm 5


Thành viên: MSSV
Huỳnh Thanh Sang 1813796
Trần Thanh Thuận 1811257
Phan Hoàng Gia 1810898
Nguyễn Bảo Kỳ 1811020
Mục Lục
Tiêu đề Trang
Câu 1 2
Câu 2 11
Câu 3 14

BÁO CÁO BÀI TẬP LỚN – NHÓM 9 1


Câu 1:
Đề : Tìm giá trị lớn nhất, nhỏ nhất của hàm f x, y dạng đa thức trên
hình chữ nhật OABC với O 0, 0, A2, 2, B 1,3,C(1,1) . Vẽ hình
minh họa.
I. Cơ sở lí thuyết:
Để tìm GTLN, GTNN của hàm f(x,y) :
1. Tìm điểm dừng của f trên miền mở của D (phần bỏ biên).
2. Tìm các điểm đặc biệt trên biên của D
a. Điểm dừng của hàm Lagrange (tổng quát).
b. Nếu biên là đoạn thẳng, chuyển f về hàm 1 biến, tìm các
điểm có khả năng đạt min, max của hàm 1 biến này.
3. CÁO
BÁO So sánh giá LỚN
BÀI TẬP trị của f tại các
– NHÓM 9 điểm trên min, max 2
II. Thuật toán:
Thuật toán

qx ;py biến kết quả


A(i,2)x ;A(i,3)y; A(i,1)f biến so sánh(BSS)

B1  : Tìm cực trị trong miền D. Kiểm tra có nghiệm thỏa, thêm vào BSS

B2: Tìm cực trị lần lượt trên các biên HCN. Kiểm tra có nghiệm thỏa,
thêm vào BSS

B3: Thêm vào biến so sánh giá trị các đỉnh của HCN

B5: Vẽ đồ thị

B4: So sánh các BSS, hiện kết quả


III. Ví dụ:

Hình chữ nhật O(0,0) A(2,2) B(1,3) C(-1,1)

Giá trị Y
3.5

2.5

1.5

0.5
BÁO CÁO BÀI TẬP LỚN – NHÓM 9 3
0
-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5

Giả sử f(x,y)=x2+y+y2
Bài toán trở thành Tìm minmax f(x,y) với
D={ −1 ≤ x ≤2; 0≤ y ≤ 3; y ≤ x +2 ; y ≥ x ; y ≥−x ; y ≤−x+ 4 }
_Trong miền D
{ −1< x <2; 0¿ y <3; y < x +2; y> x ; y >−x ; y ← x +4 }
f’x= 2x f’y=2y+1
=> (x,y)=(0,-0.5) loại
cuc tri tren duong D y=x +2 ;−1≤ x ≤ 1; 1 ≤ y ≤ 3

phi=x-y+2;
L=x2+y+y2+lamda(x-y+2)
Lx=2x+lamda
Ly=2y+1-lamda
Giải PT Lx Ly Phi thu được
(x,y)=(-1.25 ,0.75) loại

Cực trị trên đường D y=x;0<=x<=2 ;0<=y<=2

phi=x-y
L=x2+y+y2+lamda(x-y)
Lx=2x+lamda
Ly=2y+1-lamda
(x,y)=(-0.25,-0.25)=> f=-0.125

Cực trị trên đường D y=-x;-1<=x<=0 ;0<=y<=1

Phi=y+x
L=x2+y+y2+lamda(x+y)
Lx=2x+lamda
BÁO CÁO BÀI TẬP LỚN – NHÓM 9 4
Ly=2y+1+lamda
(x,y) = (0.25,-0,25) loại

Cực trị trên đường D y=-x+4;1<=x)<=2;2<=y<=3

Phi=y+x-4
L=x2+y+y2+lamda(x+y-4)
Lx=2x+lamda
Ly=2y+1+lamda
(x,y) = (2.25,1.75) loại

Các đỉnh của hình chữ nhật

(x,y) = (0,0) => f=0


(x,y) = (1,3) => f=13
(x,y) = (2,2) => f=10
(x,y) = (-1,1)=> f=3
So sánh các f
GTLN là :f(1,3)=13
GTNN là :f(-0.25,-0.25)=-0.125

BÁO CÁO BÀI TẬP LỚN – NHÓM 9 5


IV. Đoạn code:

function n4b3
syms x y lamda real
f=input('nhap ham f(x,y)= ');f=sym(f);
%hinh chu nhat O(0,0) A(2,2) B(1,3) C(-1,1)
%co dieu kien y<=x+2;y>=x;y>=-x;y<=-x+4;-1<=x<=2;0<=y<=3;
%tim cuc tri trong mien D
[p q]=solve(diff(f,'x'),diff(f,'y'));
[p q]=loai(p,q);
p=double(p);q=double(q);
A=[];
for i=1:length(p)
if q(i)<p(i)+2&q(i)>p(i)&q(i)>-p(i)&q(i)<-p(i)+4&-
1<p(i)<2&0<q(i)<3
A(i,2)=p(i);
A(i,3)=q(i);
A(i,1)=subs(f,[x y],[p(i) q(i)]);
end
end
%00000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000

%tim cuc tri tren duong D y=x+2;-1<=m(i)<=1;1<=n(i)<=3

if isempty(A)
k=0;
else
k=size(A,1);
end

phi=x-y+2;
L=f+lamda*(phi);
Lx=diff(L,'x');
Ly=diff(L,'y');
[l m n ]=solve(Lx,Ly,phi);%giai he dao ham cap 1 voi: l <=>
lamda , m <=> x , n <=> y.
[m n]=loai(m,n);
m=double(m);n=double(n);l=double(l); %chuyen sang dang
double
for i=1:length(m)
if -1<=m(i)<=1&1<=n(i)<=3
BÁOA(i+k,2)=m(i);
CÁO BÀI TẬP LỚN – NHÓM 9 6
A(i+k,3)=n(i);
A(i+k,1)=subs(f,[x y],[m(i) n(i)]);
end
end
%00000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000

%tim cuc tri tren duong D y=x;0<=m(i)<=2;0<=n(i)<=2

if isempty(A)
k=0;
else
k=size(A,1);
end
phi=x-y;
L=f+lamda*(phi);
Lx=diff(L,'x');
Ly=diff(L,'y');
[l m n ]=solve(Lx,Ly,phi);%giai he dao ham cap 1 voi: l <=>
lamda , m <=> x , n <=> y.
[m n]=loai(m,n);
m=double(m);n=double(n);l=double(l); %chuyen sang dang
double
for i=1:length(m)
if 0<=m(i)<=2&0<=n(i)<=2
A(i+k,2)=m(i);
A(i+k,3)=n(i);
A(i+k,1)=subs(f,[x y],[m(i) n(i)]);
end
end
%00000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000

%tim cuc tri tren duong D y=-x;-1<=m(i)<=0;0<=n(i)<=1

if isempty(A)
k=0;
else
k=size(A,1);
end
phi=x-y+2;
L=f+lamda*(phi);
Lx=diff(L,'x');
BÁO CÁO BÀI TẬP LỚN – NHÓM 9
Ly=diff(L,'y'); 7
[l m n ]=solve(Lx,Ly,phi);%giai he dao ham cap 1 voi: l <=>
lamda , m <=> x , n <=> y.
[m n]=loai(m,n);
m=double(m);n=double(n);l=double(l); %chuyen sang dang
double
for i=1:length(m)
if -1<=m(i)<=0&0<=n(i)<=1
A(i+k,2)=m(i);
A(i+k,3)=n(i);
A(i+k,1)=subs(f,[x y],[m(i) n(i)]);
end
end
%00000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000

%tim cuc tri tren duong D y=-x+4;1<=m(i)<=2;2<=n(i)<=3

if isempty(A)
k=0;
else
k=size(A,1);
end
phi=x-y+2;
L=f+lamda*(phi);
Lx=diff(L,'x');
Ly=diff(L,'y');
[l m n ]=solve(Lx,Ly,phi);%giai he dao ham cap 1 voi: l <=>
lamda , m <=> x , n <=> y.
[m n]=loai(m,n);
m=double(m);n=double(n);l=double(l); %chuyen sang dang
double
for i=1:length(m)
if 1<=m(i)<=2&2<=n(i)<=3
A(i+k,2)=m(i);
A(i+k,3)=n(i);
A(i+k,1)=subs(f,[x y],[m(i) n(i)]);
end
end
%00000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000

%cac dinh cua hinh chu nhat


if isempty(A)
BÁOk=0;
CÁO BÀI TẬP LỚN – NHÓM 9 8
else
k=size(A,1);
end
A(i+k,2)=0;A(i+k+1,2)=-1;A(i+k+2,2)=1;A(i+k+3,2)=2;
A(i+k,3)=0;A(i+k+1,3)=1;A(i+k+2,3)=3;A(i+k+3,3)=2;
A(i+k,1)=subs(f,[x y],[0 0]);A(i+k+1,1)=subs(f,[x y],[-1
1]);
A(i+k+2,1)=subs(f,[x y],[1 3]);A(i+k+3,1)=subs(f,[x y],[2
2]);

%00000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000

%ve do thi
rotate3d on
grid on
hold on
axis equal
xlabel('Ox');ylabel('Oy');zlabel('Oz');
x=linspace(-1,2,1000);
y=linspace(0,3,1000);
[x y]=meshgrid(x,y);
z=char(f);z=strrep(z,'','.');z=strrep(z,'^','.^');
z=eval(z);

z(y-x-2>0)=nan;
z(y+x-4>0)=nan;
z(y-x<0)=nan;
z(y+x<0)=nan;
surf(x,y,z)

if isempty(A)
disp('khong co GTLN va GTNN')
return
end

a=max(A(:,1));
b=min(A(:,1));
if a==b
if a>subs(f,[x y],[x0+0.12 y0+0.12])
disp(['GTLN f(' num2str(A(1,2)) ',' num2str(A(1,3))
BÁO CÁO BÀI TẬP LỚN – NHÓM 9
')= ' num2str(A(1,1))]) 9
else
disp(['GTNN f(' num2str(A(1,2)) ',' num2str(A(1,3))
')= ' num2str(A(1,1))])
end
return
end
GTLN='GTLN la ';
GTNN='GTNN la ';

for i=1:size(A)
if A(i,1)==a
GTLN=[GTLN 'f(' num2str(A(i,2)) ',' num2str(A(i,3))
')= '];
text(A(i,2),A(i,3),a+1,['(' num2str(A(i,2)) ','
num2str(A(i,3)) ',' num2str(a) ')' ])
elseif A(i,1)==b
GTNN=[GTNN 'f(' num2str(A(i,2)) ',' num2str(A(i,3))
')= '];
text(A(i,2),A(i,3),b-1,['(' num2str(A(i,2)) ','
num2str(A(i,3)) ',' num2str(b) ')' ])
end
end
GTLN=[GTLN num2str(a)];
GTNN=[GTNN num2str(b)];
disp(GTLN)
disp(GTNN)
hold off

end

% chuong trinh loai bo cac diem khong ton tai cua ham f
function [a b]=loai(a,b)
for i=1:length(a)
if ~isreal(a(i)) || ~isreal(b(i))
a(i,:)=[];
b(i,:)=[];
end
end
end

BÁO CÁO BÀI TẬP LỚN – NHÓM 9 10


Câu 2:
Đề: 2. Tính tích phân  fx, ydxdy , trong đó miền D giới hạn bởi: a  y
 b , x  x1 y, x  x2 y, . Yêu cầu: hai đường cong x  x1 y, x  x2 
y, không cắt nhau trên đoạn [a, b]. Vẽ và tô màu miền lấy tích phân.
I. Cơ sở lí thuyết:
Cách tính tích phân kép (định lý Fubini) :
Cho hàm f(x,y) liên tục trên miền đóng và bị chặn D:

a, Giả sử D xác định bởi: { y 1( xa≤)≤ xy≤≤by 2 ( x )


b y 2( x)

I =∬ f ( x , y ) dxdy=∫ dx ∫ f ( x , y ) dy
a y 1( x)

b, Giả sử D xác định bởi: {x 1( yc)≤≤ yx ≤≤ dx 2( y )


BÁO CÁO BÀI TẬP LỚN – NHÓM 9 11
d x2 ( y)

I = ∬ f ( x , y ) dxdy=¿∫ dy ∫ f ( x , y ) dx ¿
c x1 ( y)

II. Thuật toán:


B1: Khai báo biến x, y.
B2: Nhập hàm f(x,y) và x = x1(y), x = x2(y) input
B3: Dùng int tính tích phân.
B4: Dùng plot để vẽ hàm x = x1(y) và x = x2(y), giới hạn bởi y = a, y = b.
B5: Dùng fill để tô màu phần giới hạn vừa vẽ được.
III. Ví dụ:

Tính tích phân ∬ ydxdy với { y1≤≤xy≤≤24y .


4 2y 4

Giải tay: ∬ ydxdy=¿ ∫ dy ∫ dx=¿ ∫ y . ydy ¿ ¿ = 2


1 y 1

BÁO CÁO BÀI TẬP LỚN – NHÓM 9 12

IV. Đoạn code:


syms x y;
a = input('a = ')
b = input('b = ')
f = input('Nhap vao ham f = ')

x1 = input('Nhap vao ham x = x1(y)= ')


x2 = input('Nhap vao ham x = x2(y)= ')

f1 = int(f,x,x1,x2);

disp('Tich phan cua ham dxdy')


f = abs(int(f1,y,a,b))
y = [a:0.1:b];
d1 = subs(x1,y);
d2 = subs(x2,y);

plot(d1,y,'--',d2,y)
legend('d1','d2')

s1 = subs(x1,y);
s2 = subs(x1,b);
s3 = subs(x2,fliplr(y));
s4 = subs(x2,a);

x = [s1 s2 s3 s4];
y = [y b fliplr(y) a];

fill(x,y,'r')

BÁO CÁO BÀI TẬP LỚN – NHÓM 9 13


Câu 3:
Đề: Tính tích phân I   fx, y, z dxdydz , trong đó  là vật thể được
giới hạn bởi các mặt x=√ y , x = 3√ y , z =0, z +y =3.
I. Cơ sở lí thuyết:
Cách tính tích phân bội ba:
Nếu miền Ω có hình chiếu xuống mặt phẳng Oxy là miền D và giới
hạn trên bởi mặt z= g(x,y), giới hạn dưới bởi mặt z= h(x,y) thì:
g (x , y)

[∫ ]

∭ f ( x , y , z ) dxdydz=∬ f ( x . y , z ) dz dxdy
D h (x , y)

❑ g (x. y)

Ta còn viết tích phân trên ở dạng ∬ dxdy ∫ f ( x , y , z ) dz . Như vậy, để tính
D h( x, y)

tích phân bội ba ta cần xác định hình chiếu của Ω xuống mặt phẳng tọa
độ, sau đó đi xác định mặt giới hạn trên, dưới của Ω.
II.
BÁOThuật toán:
CÁO BÀI TẬP LỚN – NHÓM 9 14
BÁO CÁO BÀI TẬP LỚN – NHÓM 9 15
BÁO CÁO BÀI TẬP LỚN – NHÓM 9 16
BÁO CÁO BÀI TẬP LỚN – NHÓM 9 17
BÁO CÁO BÀI TẬP LỚN – NHÓM 9 18
BÁO CÁO BÀI TẬP LỚN – NHÓM 9 19
BÁO CÁO BÀI TẬP LỚN – NHÓM 9 20
Câu 2
Câu 3

BÁO CÁO BÀI TẬP LỚN – NHÓM 9 21

You might also like