达人帮忙看看这个程序是什么语言的。谢谢啦。
[C,I]=max(abs(F(:,:,j)));
B(1,1,j)=C;
gbest(1,1,j)=x(I,1,j);
gbest(1,2,j)=x(I,2,j);
Fb(1,1,j)=gbest(1,1,j)*sin(4*pi.*gbest(1,1,j))-gbest(1,2,j)*sin(4*pi.*gbest(1,2,j)+pi+1);
[C,I]=max(Fb(1,1,:));
if C>Fb(1,1,j)
gbest(1,1,j)=gbest(1,1,I);
gbest(1,2,j)=gbest(1,2,I);
end;
for p=1:N
for r=1:D
G(p,r,j)=gbest(1,r,j);
end;
end;
Fbest(1,1,j)=G(1,1,j)*sin(4*pi.*G(1,1,j))-G(1,2,j)*sin(4*pi.*G(1,2,j)+pi+1); for i=1:N
[C,I]=max(F(i,1,:));
if F(i,1,j)>=C
pbest(i,:,j)=x(i,:,j);
else
pbest(i,:,j)=x(i,:,I);
end;
end;
end
gbest(1,:,itmax)
Fbest(1,1,itmax)
figure(1);
mesh(vxp,vyp,vzp);
hold on;
plot3(x(:,1,1),x(:,2,1),F(:,1,1),'k*')
title('粒子的初始位置');
xlabel('x');
ylabel('y');
zlabel('z');
grid on;
%subplot(2,2,2);
%plot(x(:,1,round(itmax/3)),x(:,2,round(itmax/3)),'g.')
%title('(b)迭代1/3时 粒子的分布位置');
%xlabel('X1');
%ylabel('X2');
%grid on;
figure(2);
mesh(vxp,vyp,vzp);
hold on;
plot3(x(:,1,itmax),x(:,2,itmax),F(:,1,itmax),'k*')
title('(c)粒子的最终分布位置');
xlabel('x');
ylabel('y');
zlabel('f(x,y)');
grid on;
figure(3);
i_draw4=1:itmax;
Fbest1(i_draw4)=Fbest(1,1,i_draw4);
i_draw4=i_draw4';
plot(i_draw4,Fbest1);
hold on;
plot(vmfit,'r');
hold off;
title('最优、平均函数值变化趋势');
xlabel('Generations');
ylabel('f(x,y)');
grid on;
最佳答案
这个看上去是matlab语言的
其他回答
暂无其它回答!