博客
按照上文的方法,完成老师布置的作业。
可视化迭代过程(三张图展示在一个窗口,并文字化x轴的值)
x=1:1:11;%x轴上的数据,第一个值代表数据开始,第二个值代表间隔,第三个值代表终止
minimum=[1,2,3,4,6,6,6,6,6,6,6]; %a数据y值
fevals=[24,89,151,236,282,386,520,604,680,804,888]; %b数据y值
gevals=[33,106,178,272,331,446,591,688,778,916,1015]
delta=[0,0,6.7063e-5,5.4213e-5,4.1245e-5,3.5875e-5,3.0131e-5,2.5983e-5,2.2972e-5...
,2.0464e-5,1.8794e-5]
stopat=[1.9763e-323,0,3.3561e-5,2.7106e-5,2.0622e-5,1.7938e-5,1.7938e-5...
,1.7938e-5,1.7938e-5,1.7938e-5,1.7938e-5]
subplot(1,2,1);
plot(x,fevals,'-*b',x,gevals,'-or',x,minimum,'-bx'); %线性,颜色,标记
axis([0,12,0,1050]); %确定x轴与y轴框图大小
set(gca,'XTick',[0:1:12]); %x轴范围
set(gca,'YTick',[0:100:1050]); %y轴范围
legend('fevals','gevals','minimum'); %右上角标注
xlabel('迭代次数'); %x轴坐标描述
ylabel('sigma');%y轴坐标描述
subplot(1,2,2);
plot(x,delta,'-*b',x,stopat,'-or');
axis([0,12,0,7e-5]); %确定x轴与y轴框图大小
set(gca,'XTick',[0:1:12]);%x轴范围
set(gca,'YTick',[0:0.00001:7e-5]); %y轴范围
legend('delta','stopat'); %右上角标注
xlabel('迭代次数'); %x轴坐标描述
ylabel('sigma'); %y轴坐标描述
三张图放在一个窗口
x=1:1:15;
MINIMA=[6,49,400,529,527,60,50,50,3,4,5,7,10,3,2];
FOUND=[6,49,400,529,527,56,50,50,3,4,5,7,10,3,2];
FEVALS=[1598,1723,17404,1035094,60916,169280,84675,173186,498,2197,7144,17125,21551,1581,1090];
GEVALS=[2187,2975,41849,1190595,94382,297160,88111,179397,604,2364,7365,17377,21661,1737,1194];
TIME=[0.02,0.08,7.07,80.16,15.79,13.89,1.21,4.4,0.01,0.02,0.25,0.75,0.90,0.03,0.05];
subplot(1,3,1);
plot(x,MINIMA,'-*b',x,FOUND,'-or'); %线性,颜色,标记
axis([0,15,0,550]); %确定x轴与y轴框图大小
set(gca,'XTick',[0:1:15]); %x轴范围1-15,间隔1
set(gca,'XTickLabel',{'CAMEL','RASTRIGIN','SHUBERT','GRIEWANK2','HANSEN','GKLS(3,60)','GUILIN(5,50)'...
,'GUILIN(10,50)','BRANIN','GOLDSTEIN','SHEKEL5','SHEKEL7','SHEKEL10'...
,'HARTMAN3','HARTMAN6'}); %添加x轴的文字标签
set(gca,'XTickLabelRotation',46) %x轴文字标签旋转46°
set(gca,'YTick',[0:50:550]); %y轴范围0-550,间隔50
legend('MINIMA','FOUND'); %右上角标注
xlabel('Objective Function'); %x轴坐标描述
ylabel('sigma');%y轴坐标描述
subplot(1,3,2);
plot(x,FEVALS,'-*b',x,GEVALS,'-or'); %线性,颜色,标记
axis([0,15,0,350000]); %确定x轴与y轴框图大小
set(gca,'XTick',[0:1:15]); %x轴范围1-15,间隔1
set(gca,'XTickLabel',{'CAMEL','RASTRIGIN','SHUBERT','GRIEWANK2','HANSEN','GKLS(3,60)','GUILIN(5,50)'...
,'GUILIN(10,50)','BRANIN','GOLDSTEIN','SHEKEL5','SHEKEL7','SHEKEL10'...
,'HARTMAN3','HARTMAN6'}); %添加x轴的文字标签
set(gca,'XTickLabelRotation',46) %x轴文字标签旋转46°
set(gca,'YTick',[0:15000:350000]); %y轴范围0-350000,间隔15000
legend('FEVALS','GEVALS'); %右上角标注
xlabel('Objective Function'); %x轴坐标描述
ylabel('sigma');%y轴坐标描述
subplot(1,3,3);
plot(x,TIME,'-*b'); %线性,颜色,标记
axis([0,15,0,20]); %确定x轴与y轴框图大小
set(gca,'XTick',[0:1:15]); %x轴范围1-15,间隔1
set(gca,'XTickLabel',{'CAMEL','RASTRIGIN','SHUBERT','GRIEWANK2','HANSEN','GKLS(3,60)','GUILIN(5,50)'...
,'GUILIN(10,50)','BRANIN','GOLDSTEIN','SHEKEL5','SHEKEL7','SHEKEL10'...
,'HARTMAN3','HARTMAN6'}); %添加x轴的文字标签
set(gca,'XTickLabelRotation',46) %x轴文字标签旋转46°
set(gca,'YTick',[0:2:20]); %y轴范围0-20,间隔2
legend('TIME'); %右上角标注
xlabel('Objective Function'); %x轴坐标描述
ylabel('sigma');%y轴坐标描述