📄 chromosome_x.m
字号:
%函数(1):由染色体(可能解的2进制)顺序号找到可能解
%这个函数找出染色体(可能解的序号)对应的可能解x
function x=chromosome_x(chromosomeGroup,oneDimensionSet,solutionSum)
%chromosomeGroup:染色体,也是可能解的二进制序号
%oneDimensionSet:一维数轴上的可能解
%solutionSum:非线性方程组的元数,也就是待解方程中未知变量的个数
[row oneDimensionSetN]=size(oneDimensionSet);
%oneDimensionSetN:一维数轴上可能解的个数
chromosomeSum=size(chromosomeGroup);%chromosomeSum:染色体的个数(长度???)
xSequence=bin2dec(chromosomeGroup);%把可能解的二进制序号(染色体)转换成十进制序号
for i=1:chromosomeSum%i:染色体的编号
remainder=xSequence(i);
for j=1:solutionSum
dProduct=oneDimensionSetN^(solutionSum-j);%sNproduct:
quotient=remainder/dProduct;
remainder=mod(remainder,dProduct);%mod:取余函数
if remainder==0
oneDimensionSetOrder=quotient;
%oneDimensionSetOrder:可能解在数轴上的序号
else
oneDimensionSetOrder=fix(quotient)+1;%fix:取整函数
end
if oneDimensionSetOrder==0
oneDimensionSetOrder=oneDimensionSetN;
end
x(i,j)=oneDimensionSet(oneDimensionSetOrder);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -