学习MATLAB中的体会1

学习MATLAB中的体会1


卓金武第三版P213页代码
No.1

n=6for 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位置,实际上初始化的结果很简单
MC初始化结果
按照我以前的想法,表达这个初始化结果,实际上可以

n=6for 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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值