Professional Documents
Culture Documents
CHỦ ĐỀ:
Đà Nẵng, 2021
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
MỤC LỤC
1. ĐỀ BÀI ................................................................................................................... 2
2. TRÌNH BÀY CỤ THỂ VỀ PHƯƠNG PHÁP NEWTON VÀ ARMIJO .............. 3
3. GIẢI BÀI TOÁN BẰNG CODING TRÊN MATLAB ......................................... 4
4. GIẢI BÀI TOÁN BẰNG OPTIMIZATION TOOLBOX TRONG MATLAB ... 10
5. NHẬN XÉT VÀ SO SÁNH GIỮA HAI PHƯƠNG PHÁP ................................ 12
1
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
2
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
∂𝑓 ∂ 𝑇
𝒈(𝑘 ) = 𝜵𝒇(𝒙𝑘 ) = [ … ]
∂𝑥1 ∂𝑥𝑁
Và Hessian là
𝜕2𝑓 𝜕2
…
𝜕𝑥1 2 𝜕𝑥1 𝜕𝑥𝑁
𝑯(𝑘 ) = 𝜵𝟐 𝒇(𝒙𝑘 ) = … 0 …
𝜕2 𝜕2𝑓
…
[𝜕𝑥𝑁 𝜕𝑥1 𝜕𝑥𝑁 2 ]
Lúc đó ta có phương trình cập nhật là
Trong đó, 0 < 𝛼 ≤ 1 được cho trước hoặc được tính ở mỗi bước thông qua các
phương pháp giải như Bisection, Armijo, Back-tracking,…
2.2. Phương pháp Armijo
Cho trước 2 thông số: 𝜖 ∈ (0,1), 𝜎 > 1
Thuật toán:
Cho 𝑡 = 0, và chọn 𝛼 (0) = 𝑎 > 0
3
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
4
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
%Giới thiệu
disp('BAI KIEM TRA GIUA KY')
disp('NGUYEN HUU HOANG LONG')
disp('MSSV: 105190397')
disp('GVHD: TRAN THI MINH DUNG')
disp('----------o0o----------')
%Nhập INPUT
x(:,1) = input('Nhập giá trị x0, y0 theo cú pháp
[x0;y0]: ');
5
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
%Giải bài toán theo phương pháp NEWTON, cập nhật alpha
bằng hàm Armijo
fprintf('\n');
while (n <= N)
f(n) = func(x(:,n));
G = grad(x(:,n));
H = hex(x(:,n));
if (mod(n,5) == 1)
fprintf('k = %2.0f x = %5.4f y = %5.4f f =
%12.8f\n',n-1,x(1,n),x(2,n),f(n));
end
if (abs(grad(x(:,n))) <= epsilon)
nfinal = n;
fmin = f(n);
fprintf('\nChương trình đã dừng lại do tìm thấy
được nghiệm cục bộ');
break;
end
d = H\G;
a = Armijo(x(:,n),d);
x(:,n+1) = x(:,n) - a*d;
n = n + 1;
if ((abs(x(1,n+1)-x(1,n)) <= epsilon) &&
(abs(x(2,n+1)-x(2,n))<= epsilon))
nfinal = n;
fmin = f(n);
fprintf('\nChương trình đã dừng lại do x(k+1)-
x(k) gần bằng 0');
break;
end
end
6
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
% Vẽ biểu đồ
figure('Color','White')
set(gcf,'position',[20,300,750,400])
plot(0:nfinal - 1,x(1,1:nfinal),'*-
','DisplayName','x','color','#FFC641','Linewidth',2)
hold on;
plot(0:nfinal - 1,x(2,1:nfinal),'*-
','DisplayName','y','color','#0072BD','Linewidth',2)
title('Newton''s Method Solution: $f(x) =
{\frac{4}{41}}x^4+82x^2y^2-x-
y^2$','FontSize',20,'Interpreter','latex')
xlabel('$Iteration$','FontSize',16,'Interpreter','latex'
)
ylabel('$x$ $and$
$y$','FontSize',16,'Interpreter','latex')
grid on
legend
figure('Color','White')
set(gcf,'position',[780,300,750,400])
k=(0:1:nfinal-1);
fplot=f(1:1:nfinal);
plot(k,fplot,'-*','DisplayName','f(x,y)','color',
'#FF5D56','Linewidth',2)
title('Newton''s Method Solution: $f(x) =
{\frac{4}{41}}x^4+82x^2y^2-x-
y^2$','FontSize',20,'Interpreter','latex')
xlabel('$Iteration$','FontSize',16,'Interpreter','latex'
)
ylabel('$f(x,y)$','FontSize',16,'Interpreter','latex')
grid on
legend
hjk
7
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
8
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
9
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
%Giới thiệu
disp('BAI KIEM TRA GIUA KY')
disp('NGUYEN HUU HOANG LONG')
disp('MSSV: 105190397')
disp('GVHD: TRAN THI MINH DUNG')
disp('----------o0o----------')
%Nhập INPUT
x0 = input('Nhập giá trị x0, y0 theo cú pháp [x0;y0]: ');
10
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
11
Bài KT GK Toán Nâng Cao Nguyễn Hữu Hoàng Long
12