Professional Documents
Culture Documents
X y Lamda Real 'Nhap Ham F (X, Y) ': Function
X y Lamda Real 'Nhap Ham F (X, Y) ': Function
X y Lamda Real 'Nhap Ham F (X, Y) ': Function
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
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
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
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)<=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
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
%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))
')= ' num2str(A(1,1))])
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
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
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
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
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
Ly=2y+1+lamda
(x,y) = (0.25,-0,25) loại
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
Thuật toán
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ị