该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
编写的程序,想把每次迭代的数据都保存下来。我的程序里面的用的是save命令,但是保存的都是最后一次迭代步的数据。把前一次迭代的数据给覆盖了。有没有什么解决办法?采用的是遗传算法调用的子程序如下:
function fitness = D1(sol)
fitness = zeros(2,1);
load Input;
r(1:bounds6) = sol(1:bounds6);
y(1:bounds6) = sol(bounds6+1:2*bounds6);
z(1:bounds6) = sol(2*bounds6+1:3*bounds6);
e(1:bounds6)= sol(3*bounds6+1:4*bounds6);
m=7.8;
c=0.45;
D1=data2;
D0=data1;
f=data3;
y=round(y);
z=floor(z);
e=floor(e);
x(1)=D0*sqrt(1-r(1));
for i=2:bounds6
if i==1
x(1)=D0*sqrt(1-r(1));
else
x(i)=x(i-1)*sqrt(1-r(i));
end
end
for i=1:bounds6
if x(i)<=D1
x(i)=D1;
end
en