有没有大神用过刘国华那篇用matlab实现遗传算法程序的论文中的代码的?里面的那个decoding程序中的参数funname是什么?我开始以为是cos(5*x)-sin(3*x)+10,x在1-7之间,但是代入不正确,求正解
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/21 02:31:22
![有没有大神用过刘国华那篇用matlab实现遗传算法程序的论文中的代码的?里面的那个decoding程序中的参数funname是什么?我开始以为是cos(5*x)-sin(3*x)+10,x在1-7之间,但是代入不正确,求正解](/uploads/image/z/2709696-48-6.jpg?t=%E6%9C%89%E6%B2%A1%E6%9C%89%E5%A4%A7%E7%A5%9E%E7%94%A8%E8%BF%87%E5%88%98%E5%9B%BD%E5%8D%8E%E9%82%A3%E7%AF%87%E7%94%A8matlab%E5%AE%9E%E7%8E%B0%E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%AE%BA%E6%96%87%E4%B8%AD%E7%9A%84%E4%BB%A3%E7%A0%81%E7%9A%84%3F%E9%87%8C%E9%9D%A2%E7%9A%84%E9%82%A3%E4%B8%AAdecoding%E7%A8%8B%E5%BA%8F%E4%B8%AD%E7%9A%84%E5%8F%82%E6%95%B0funname%E6%98%AF%E4%BB%80%E4%B9%88%3F%E6%88%91%E5%BC%80%E5%A7%8B%E4%BB%A5%E4%B8%BA%E6%98%AFcos%285%2Ax%29-sin%283%2Ax%29%2B10%2Cx%E5%9C%A81-7%E4%B9%8B%E9%97%B4%2C%E4%BD%86%E6%98%AF%E4%BB%A3%E5%85%A5%E4%B8%8D%E6%AD%A3%E7%A1%AE%2C%E6%B1%82%E6%AD%A3%E8%A7%A3)
有没有大神用过刘国华那篇用matlab实现遗传算法程序的论文中的代码的?里面的那个decoding程序中的参数funname是什么?我开始以为是cos(5*x)-sin(3*x)+10,x在1-7之间,但是代入不正确,求正解
有没有大神用过刘国华那篇用matlab实现遗传算法程序的论文中的代码的?
里面的那个decoding程序中的参数funname是什么?我开始以为是cos(5*x)-sin(3*x)+10,x在1-7之间,但是代入不正确,求正解
有没有大神用过刘国华那篇用matlab实现遗传算法程序的论文中的代码的?里面的那个decoding程序中的参数funname是什么?我开始以为是cos(5*x)-sin(3*x)+10,x在1-7之间,但是代入不正确,求正解
funname是适值函数,它也是一个子函数,如果要求的cos(5*x)-sin(3*x)+10,对于给出的每一个x值,调用funname就会得出相应的y值.
遗传算法的代码分为好几部分:
decoding是解码的子函数,下面是我编的代码,要是有不懂的地方可以再问我:
%二进制转化成十进制
function dec=decodebinary(pop)
[m,n]=size(pop);
dec=zeros(m,1);
for i=1:m
s=0;
for j=1:n
if(pop(i,j))==1
s=s+2.^(j-1);
end
dec(i,1)=s;
end
end
%解码程序(将相应的十进制转化到相应的x范围)
function pop2=decodechrom(pop,bits,spoint,length,max,min)
pop1=pop(:,spoint:spoint+length-1);
w=decodebinary(pop1);
scale=(max-min)./(2.^bits-1);
pop2=w*scale+min;
要是还需要其它的交叉变异之类的代码可以联系我