📄 fiteva.m
字号:
% 第preGen代种群适应度计算
% FitEva
function [E_AGen,EMin_AGen,A]=FitEva(n,k,m,w,wp,ws,wt,pop,HTar,communityR,preGen,maxGen)
% n 量子位长度
% k 系统单元数
% m 频域抽样点数
% w 数字频率范围
% pop 种群数量
% communityP 种群量子位数据库
% communityR 种群实数解数据库
E_AGen=zeros(1,pop);
EMin_AGen=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for ii=1:pop
[HInd,A(ii)]=FreqCalcu(n,k,m,w,HTar,communityR(:,:,ii)); % 个体频域计算
E_AGen(ii)=sum((abs(HInd)-HTar).*(abs(HInd)-HTar)); % 个体适应度计算
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%np=ceil(m*(wp/pi));
%ns=floor(m*(ws/pi));
%nt=round(m*(wt/pi));
%for ii=1:pop
% [HInd,A(ii)]=FreqCalcu(n,k,m,w,HTar,communityR(:,:,ii)); % 个体频域计算
% E_AGen(ii)=sum((abs([HInd(1:np),HInd(nt),HInd(ns:m)])-abs([HTar(1:np),HTar(nt),HTar(ns:m)])).^2); % 个体适应度计算
%end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%np=ceil(m*(wp/pi));
%ns=floor(m*(ws/pi));
%nt=round(m*(wt/pi));
%for ii=1:pop
% [HInd,A(ii)]=FreqCalcu(n,k,m,w,HTar,communityR(:,:,ii)); % 个体频域计算
% E_AGen(ii)=sum([max(abs([abs(HInd(1:np))-abs(HTar(1:np))])),max(abs([abs(HInd(ns:m))-abs(HTar(ns:m))])),abs(abs(HInd(nt))-abs(HTar(nt)))]); % 个体适应度计算
%end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
EMin_AGen=min(E_AGen);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -