calobjvalue.m

来自「POS算法」· M 代码 · 共 19 行

M
19
字号
function [pbest,gbest,objvalue,gvaluer]=calobjvalue(pop)
global popsize;
global dimsize;
global YY;
global f;
objvalue=zeros(popsize,1);
for i=1:popsize            %%%每个粒子求目标值
   x=pop(i,1:dimsize);
   multi=x(1,7).*exp(-(x(1,1)+x(1,2).*f).*x(1,3)).*exp(-j.*2.*pi.*f.*1500000.*x(1,3))+x(1,8).*exp(-(x(1,1)+x(1,2).*f).*x(1,4)).*exp(-j.*2.*pi.*f.*1500000.*x(1,4))+x(1,9).*exp(-(x(1,1)+x(1,2).*f).*x(1,5)).*exp(-j.*2.*pi.*f.*1500000.*x(1,5))+x(1,10).*exp(-(x(1,1)+x(1,2).*f).*x(1,6)).*exp(-j.*2.*pi.*f.*1500000.*x(1,6));
   for k=1:30
      objvalue(i,1)=objvalue(i,1)+abs(multi(1,k)-YY(1,k));
       %objvalue(i,1)=objvalue(i,1)+log(abs(multi(1,k)-YY(1,k)))+log(abs(real(multi(1,k)-YY(1,k))))+log(abs(imag(multi(1,k)-YY(1,k))));
   end
end
pbest=pop(:,1:dimsize) ;
[ggBest,xindex]=min(objvalue) ;
xtemp=pop( xindex,1:dimsize) ;
gbest=xtemp;
gvaluer=ggBest;

⌨️ 快捷键说明

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