跪等!matlab中Vectors must be the same lengthsx1=[];y=[];for i=1:20%30为迭代次数[objvalue]=calobjvalue(pop); %计算目标函数fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度[newpop]=selection(pop,fitvalue);%复制[ne
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 06:37:48
跪等!matlab中Vectors must be the same lengthsx1=[];y=[];for i=1:20%30为迭代次数[objvalue]=calobjvalue(pop); %计算目标函数fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度[newpop]=selection(pop,fitvalue);%复制[ne
跪等!matlab中Vectors must be the same lengths
x1=[];
y=[];
for i=1:20
%30为迭代次数
[objvalue]=calobjvalue(pop); %计算目标函数
fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度
[newpop]=selection(pop,fitvalue);%复制
[newpop]=crossover(pop,pc); %交叉
[newpop]=mutation(pop,pm); %变异
[bestindividual,bestfit]=best(pop,fitvalue);%求出群体中适应值最大的个体及其适应值
y(i)=max(bestfit);
y=[y bestfit];
n(i)=i;
pop5=bestindividual;
x=1+decodechrom(pop5,1,chromlength)*11/(2^chromlength-1);
x1=[x1 x];
pop=newpop;
end
plot(x1,y,'go')
跪等!matlab中Vectors must be the same lengthsx1=[];y=[];for i=1:20%30为迭代次数[objvalue]=calobjvalue(pop); %计算目标函数fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度[newpop]=selection(pop,fitvalue);%复制[ne
错误是两个矩阵的长度不一致,你可以在matlab提示错误的行数前,设置断点,跟踪一下程序.看是哪两个矩阵的维数不一样.
由于你这只是程序的一部分,我们也没法编译,看不出来的.