www.gusucode.com > matlab编程遗传算法计算匹配电路源码程序 > code1/code/MATLAB源代码/mut_change_with_ObjV.m

    function [ mutation_SelCh ] = mut_change_with_ObjV(SelCh,mutation_probability,BaseV)
%UNTITLED5 此处显示有关此函数的摘要
%   此处显示详细说明
ObjVSel=lowpassS21_test2(SelCh);
ObjVSel_average=sum(ObjVSel)/length(ObjVSel);
[row_location_small_ObjV,~]=find(ObjVSel<(ObjVSel_average/2));
[row_location_median_ObjV,~]=find((ObjVSel>=(ObjVSel_average/2))&(ObjVSel<ObjVSel_average));
[row_location_big_ObjV,~]=find(ObjVSel>=(ObjVSel_average*2));
small_mutation_probability=mutation_probability/2;
median_mutation_probability=mutation_probability;
big_mutation_probability=mutation_probability*2;
num_of_small_ObjV=length(row_location_small_ObjV);
num_of_median_ObjV=length(row_location_median_ObjV);
num_of_big_ObjV=length(row_location_big_ObjV);
i=1:num_of_small_ObjV;
j=1:num_of_median_ObjV;
k=1:num_of_big_ObjV;
mutation_SelCh(row_location_small_ObjV(i),:)=mut(SelCh(row_location_small_ObjV(i),:),small_mutation_probability,BaseV);
mutation_SelCh(row_location_median_ObjV(j),:)=mut(SelCh(row_location_median_ObjV(j),:),median_mutation_probability,BaseV);
mutation_SelCh(row_location_big_ObjV(k),:)=mut(SelCh(row_location_big_ObjV(k),:),big_mutation_probability,BaseV);
end