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

📄 calobjvalue.asv

📁 POS算法
💻 ASV
字号:
function [pbest,gbest,objvalue,gvaluer]=calobjvalue(pop)
global popsize;
global dimsize;
global YY;
global f;
%obfuct1=sin(sqrt(pop(i,1)^2 +pop(i,2)^2))^2-0.5;
%obfuct2=1.0+0.0013*(sqrt(pop(i,1)^2+pop(i,2)^2))^2;
%objvalue(i,1)=0.5+obfuct1/obfuct2;
f=1000000:1000000:30000000;
%YY=[-0.54081-0.60692i,0.012149 + 0.68679i,0.11882 - 0.19483i,0.13601 - 0.34158i,-0.4657 + 0.35149i,0.57219 + 0.084515i,-0.30602 - 0.45357i,-0.12448 + 0.4733i,0.28253 - 0.22736i,-0.041232 - 0.046053i,-0.27818 + 0.10149i,0.35255 + 0.10889i,-0.15708-0.33035i,-0.12981+0.30804i,0.27992-0.10334i,-0.16859-0.046979i,-0.074748+0.027345i,0.18405+0.1087i,-0.06962-0.22639i,-0.11754+0.19898i,0.20472-0.035646i,-0.14713-0.09783i,0.015134 + 0.072464i,0.065154+0.05626i,-0.01676-0.14516i,-0.096746+0.11933i,0.14494-0.0074938i,-0.089348-0.095349i,0.0039871+0.09879i,0.030279-0.0085858i];
objvalue=zeros(popsize,1);
for i=1:popsize    %%%每个粒子求目标值
   x=pop(i,:);
   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)+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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -