📄 outputdata.m
字号:
%实时输出结果
%输出当前种群中粒子位置
subplot(2,1,1); %子图1
for i=1:popsize %画粒子群中所有粒子(用蓝色星号标记)
plot3(pop(i,1),pop(i,2),pop(i,4*D+2),'b*','markersize',5);
hold on;
end
plot3(gbest(1),gbest(2),best_fitness,'r.','markersize',20);
axis([x_min,x_max,x_min, x_max]);%画全局最优粒子位置(用红点标记)
xlabel('x1');
ylabel('x2');
zlabel('f(X)');
title('粒子群分布示意图(红点表示最优粒子位置)')
hold off;
grid on; %产生网格
%输出当前最优解适应值
subplot(2,1,2); %子图2
if exetime-1>0
plot(exetime,best_fitness,'m.');
line([exetime-1,exetime],[best_in_history(exetime-1),best_fitness]);
xlabel('迭代次数');
ylabel('当前最优解适应值');
switch Fun_Select
case 1
title('f1=Spherical函数[全局最优点(0,0)]');
case 2
title('f2=Rosenbrock函数[全局最优点(1,1)]');
case 3
title('f3=Shaffer’sf6函数[全局最优点(0,0)]');
case 4
title('f4=Rastrigrin函数[全局最优点(0,0)]');
case 5
title('f5=Griewank函数[全局最优点(0,0)]');
case 6
title('f6=Ackley函数[全局最优点(0,0)]');
case 7
title('f7=Axis Parallel hyper-ellipsoid函数[全局最优点(0,0)]');
case 8
title('f8=Schwefel函数[全局最优点(-420.9687,-420.9687)]');
otherwise
title('f9=Schwefel函数[全局最优点(-420.9687,-420.9687)]');
end
hold on;
end
grid on; %产生网格
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -