⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sec6_1_1.m

📁 good code for matlab by mili , i than you
💻 M
字号:
% Example 6.1 	
% Numerical Techniques for Unconstrained Optimization
% Optimzation with MATLAB, Section 6.1.1
% Dr. P.Venkataraman
%
%	

% symbolic calculation
syms xx1 xx2 ff gradx1 gradx2 hess
ff = 3 + (xx1 - 1.5*xx2)*(xx1 -1.5*xx2) + (xx2 -2 )*(xx2 - 2);

% gradients
gradx1 = diff(ff,xx1)
gradx2 = diff(ff,xx2)

% solution to FOC
optimum = solve(gradx1, gradx2)

fprintf('FOC --- \n')
fprintf('x1* = '),disp(double(optimum.xx1))
fprintf('x2* = '),disp(double(optimum.xx2))

% applying second order condition
fprintf('\n\nSOC -----')
hess=[diff(gradx1,xx1)  diff(gradx1,xx2); diff(gradx2,xx1) diff(gradx2,xx2)];
fprintf('\nHessian \n '),disp(hess)

% calculate eigen value
evalue = eig(hess);
fprintf('\neigen value \n'),disp(evalue)

% graphical optimization
x1=0:0.1:5;
x2 = 0:0.1:5;
[X1 X2] = meshgrid(x1,x2);


f = 3 +(X1 - 1.5*X2).*(X1 - 1.5*X2) + (X2-2).^2;

c1 = contour(x1,x2,f, ...
   [3.1 3.25 3.5 4 6 10 15 20 25],'k');
clabel(c1);
grid
xlabel('x_1')
ylabel('x_2')
title('Example 6.1')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -