📄 b2f.m
字号:
function [B,len,v]=B2F(sol,bounds)
%[B,len]=B2F(x,bounds) 二进制编码函数
%x 编码向量如x=[6 8 9];
%bounds 边界约束ru如bounds=[4 8 ;3 11;6 12;];
%B 二进制编码串
%编码长度L由bounds(2)-bounds(1)决定
%以上为例:
% 编码长度向量L=[4 8 6]编成二进制L=[11 1000 110],则len=[2 4 3]
% 计算B=x-bound(1)=[2 5 3]编成二进制 B=[10 0101 011]
% 作者:机自01-2班曾新海
% zxh21st@163.com
n=length(sol);
len=[];B=[];v=[];
L=bounds(:,2)-bounds(:,1);
L=de2bi(L);
for i=1:n
len(i)=length(L(i,:));
end
v=sol-bounds(:,1)';
for i=1:n
B=[B de2bi(v(i),len(i))];
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -