example5_36.m
来自「matlab6.5辅助小波分析与应用例程 希望对大家能有所帮助」· M 代码 · 共 19 行
M
19 行
function NewChrom = mut(OldChrom,Pm,BaseV)
% OldChrom-当代种群的染色体
% Pm-变异概率
% BaseV-染色体基
[Nind, Lind] = size(OldChrom) ;
if nargin < 2, Pm = 0.7/Lind ; end
if isnan(Pm), Pm = 0.7/Lind; end
if (nargin < 3), BaseV = crtbase(Lind); end
if (isnan(BaseV)), BaseV = crtbase(Lind); end
if (isempty(BaseV)), BaseV = crtbase(Lind); end
if (nargin == 3) & (Lind ~= length(BaseV))
error('OldChrom and BaseV are incompatible'), end
% 生成变异屏蔽矩阵
BaseM = BaseV(ones(Nind,1),:) ;
% 进行变异操作
NewChrom = rem(OldChrom+(rand(Nind,Lind)<Pm).*ceil(rand(Nind,Lind).*(BaseM-1)),BaseM);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?