当前位置: 代码迷 >> 综合 >> MATLAB安装谢菲尔德(Sheffield)遗传算法工具箱的安装(文件名已小写)
  详细解决方案

MATLAB安装谢菲尔德(Sheffield)遗传算法工具箱的安装(文件名已小写)

热度:77   发布时间:2023-12-02 02:30:55.0

一 环境说明

解决此问题所使用的环境是:

  1. MATLAB版本:MATLAB2018b
  2. 操作系统:win10专业版
  3. 资料链接(谢菲尔德工具箱):链接:https://pan.baidu.com/s/18GOVYGZgz8tuKbx86wPQJw
    提取码:vh2p

二 解决问题

谢菲尔德工具箱在MATLAB2018中的安装。

三 解决过程

  1. 下载链接中的谢菲尔德工具箱。
    其中的rename.bat文件是用来将文件的大写名称改成小写名称(如果不改,使用会有问题)的,此资料中的.M文件已经处理,无需再处理*。
    在这里插入图片描述
  2. 设置谢菲尔德工具箱的路径。
    主页——设置路径——添加文件夹——谢菲尔德工具箱——保存——关闭。
    在这里插入图片描述
    PS:这里的路径一定要写到gatbx这一层,才能成功。
    由于此资料中的文件均已改成小写名称,所以可以直接使用。
  3. 检测:
    (1)命令行窗口输入:v= ver(“gatbx”)
    在这里插入图片描述
    (2)[Chrom,Lind,BaseV]=crtbp(5,10)
    在这里插入图片描述
    (3)代码验证
clc,clear
figure(1);
hold on;
lb = 1; ub = 2;
ezplot('sin(10*pi*X)/X',[lb,ub]);
xlabel('自变量/X')
ylabel('因变量/Y')
Nind = 40;
Max_gen = 20;
Preci = 20;
GGAP = 0.95;
px = 0.7;
pm = 0.01;
trace = zeros(2,Max_gen);
FieldD = [Preci;lb;ub;1;0;1;1];
Chrom = crtbp(Nind,Preci);
gen = 0;
X = bs2rv(Chrom,FieldD);
Objv = sin(10 * pi * X)./X;
while gen < Max_genFitnv = ranking(Objv);Selch = select('sus',Chrom,Fitnv,GGAP);Selch = recombin('xovsp',Selch,px);Selch = mut(Selch,pm);X = bs2rv(Selch,FieldD);Objvsel = sin(10 * pi * X)./X;[Chrom,Objv] = reins(Chrom,Selch,1,1,Objv,Objvsel);X = bs2rv(Chrom,FieldD);gen = gen + 1;[Y,I] = min(Objv);trace(1,gen) = X(I);trace(2,gen) = Y;
end
plot(trace(1,:),trace(2,:),'bo');
grid on;
plot(X,Objv,'b*');
figure(2);
plot(1:Max_gen,trace(2,:));
grid on;
xlabel('遗传代数')
ylabel('解的变化')
title('进化过程')
BestY = trace(2,end);
BestX = trace(1,end);
fprintf(['最优解:\nX = ',num2str(BestX),'\nY = ',num2str(BestY),'\n'])

在这里插入图片描述

如果解决了问题,请给个小心心,如有问题,欢迎留言

求助

CSDN中的公式编译搞不了,求大神帮助。

  相关解决方案