学习MATLAB中的体会1
卓金武第三版P213页代码
No.1
n=6;
for i=1:n./2
x(i.*2-1)=r+2*r*(i-1);
x(i*2)=r+2*r*(i-1);
y(2*i-1)=r;
y(2*i)=3*r;
end
是为了初始化MC位置,实际上初始化的结果很简单
按照我以前的想法,表达这个初始化结果,实际上可以
n=6;
for 1:n
......
但那样无疑麻烦了
No.2
表示连乘
n=6;fs_every=1;%初始化
for i=1:(n-1)
for j=(i+1):n
fs_every=fs_every.*sqrt((x(i)-x(j)).^2+(y(i)-y(j)).^2);
end
end
No.3
余胜威优化算法进阶版第28章,GA中的Code
生成某一范围内的随机数
lenchrom=ones(1,3);
bound=[38,59;26,37;33,44;];
pick=rand(1,length(lenchrom));
ret1=bound(:,1)';%三个范围分别的区间起点
ret2=(bound(:,2)-bound(:,1))'.*pick;%三个区间的起点减去终点再乘以随机数
ret=ret1+ret2;