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

📄 sec7_2_1_plot.m

📁 good code for matlab by mili , i than you
💻 M
字号:
% 
% Optimization with MATAB; Dr P.Venkataramana=
% Chapter 7	Section 7.2.1
% External Penalty Function Method
% Example 7.1
% Symbolic Calculations and plotting
format compact
syms x1 x2 rh rg f g h F grad1 grad2

f = x1^4 - 2*x1*x1*x2 + x1*x1 + x1*x2*x2 - 2*x1 + 4;
h = x1*x1 + x2*x2 - 2;
g = 0.25*x1*x1 +0.75*x2*x2 -1;
%F = f + rh*h*h + rg*g*g;
%grad1 = diff(F,x1);
%grad2 = diff(F,x2);

% choose values for rh and rg
rh = 5; rg = 5;

x11 = -2:.2:5;
x22 = -2:.2:5;
x1len = length(x11);
x2len = length(x22);
for i = 1:x1len;
   for j = 1:x2len;
      gval = subs(g,{x1 x2},{x11(i) x22(j)});
      if gval < 0
         gval = 0;
      end
      hval = subs(h,{x1 x2},{x11(i) x22(j)});
      
      Fval(j,i) = subs(f,{x1 x2},{x11(i) x22(j)}) ...
         + rg*gval*gval + rh*hval*hval;
   end
end

c1 = contour(x11,x22,Fval,[3.1 4 5 6 10 20 50 100 200 500]);
clabel(c1);
grid
xlabel('x_1')
ylabel('x_2')
strng = strcat('Example 7.1: ','r_h =   ', num2str(rh),'r_g =  ',num2str(rg));

title(strng)

⌨️ 快捷键说明

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