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

📄 calfitvalue.m

📁 两种改进的遗传算法(自适应交叉概率的遗传算法
💻 M
字号:
%计算个体的适应值
%遗传算法子程序
%计算个体的适应值
%Name:calfitvalue.m
function fitvalue=calfitvalue(pop,difference,M1,M2)
[px,py]=size(pop);
fitvalue=zeros(1,px);             %px为染色体的个数
fitvalue_column=1;
for i=1:px
    M_sum_fangcha=pop(i,:)*difference;  %M_fangcha为基于同一个特征,两类的类间方差与类内方差的差值。因此,M_fangcha是一个类间方差与类内方差的差值向量
    q=sum(pop(i,:));          %扫描每一行,也就是扫描每一个染色体。记录下每个染色体中为1的总数,即被选中的特征数
    Temp_feature=zeros(1,q);            %生成一个向量列数为被选中的特征数,目的是为了记录被选中的特征的序号,以方便后续计算特征间的相关系数
    qq=1;
    for j=1:py
        if pop(i,j)==1
            Temp_feature(1,qq)=j;
            qq=qq+1;
        end
    end
    p_corr_sum=0;
    for jj=1:q-1  %计算特征间的相似系数
        z1=Temp_feature(1,jj);
        z2=Temp_feature(1,jj+1);
        p_corr1=abs(corr2(M1(:,z1),M1(:,z2)));   %计算某一类成分的两类特征下的向量,例如M_red(:,z1)为红细胞特征1面积的向量,M_red(:,z2)为红细胞特征2半径的向量,而面积和半径是相关的
        p_corr2=abs(corr2(M2(:,z1),M2(:,z2)));   %计算某一类成分的两类特征下的向量相关性越小越好
        p_corr=(p_corr1+p_corr2)/2;
        p_corr_sum=p_corr_sum+p_corr;
    end
    fitvalue(1,i)=M_sum_fangcha-p_corr_sum;
end
    
    
    
    
    
    

⌨️ 快捷键说明

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