资源简介
本代码包为 matlab智能算法30个案例分析(第二版)代码,随着matlab升级,优化函数的位置发生了改变,但是绝大多数代码并没有改变。
代码片段和文件信息
clc
clear all
close all
%% 画出函数图
figure(1);
hold on;
lb=1;ub=2; %函数自变量范围【12】
ezplot(‘sin(10*pi*X)/X‘[lbub]); %画出函数曲线
xlabel(‘自变量/X‘)
ylabel(‘函数值/Y‘)
%% 定义遗传算法参数
NIND=40; %个体数目
MAXGEN=20; %最大遗传代数
PRECI=20; %变量的二进制位数
GGAP=0.95; %代沟
px=0.7; %交叉概率
pm=0.01; %变异概率
trace=zeros(2MAXGEN); %寻优结果的初始值
FieldD=[PRECI;lb;ub;1;0;1;1]; %区域描述器
Chrom=crtbp(NINDPRECI); %初始种群
%% 优化
gen=0; %代计数器
X=bs2rv(ChromFieldD); %计算初始种群的十进制转换
ObjV=sin(10*pi*X)./X; %计算目标函数值
while gen FitnV=ranking(ObjV); %分配适应度值
SelCh=select(‘sus‘ChromFitnVGGAP); %选择
SelCh=recombin(‘xovsp‘SelChpx); %重组
SelCh=mut(SelChpm); %变异
X=bs2rv(SelChFieldD); %子代个体的十进制转换
ObjVSel=sin(10*pi*X)./X; %计算子代的目标函数值
[ChromObjV]=reins(ChromSelCh11ObjVObjVSel); %重插入子代到父代,得到新种群
X=bs2rv(ChromFieldD);
gen=gen+1; %代计数器增加
%获取每代的最优解及其序号,Y为最优解I为个体的序号
[YI]=min(ObjV);
trace(1gen)=X(I); %记下每代的最优值
trace(2gen)=Y; %记下每代的最优值
end
plot(trace(1:)trace(2:)‘bo‘); %画出每代的最优点
grid on;
plot(XObjV‘b*‘); %画出最后一代的种群
hold off
%% 画进化图
figure(2);
plot(1:MAXGENtrace(2:));
grid on
xlabel(‘遗传代数‘)
ylabel(‘解的变化‘)
title(‘进化过程‘)
bestY=trace(2end);
bestX=trace(1end);
fprintf([‘最优解:\nX=‘num2str(bestX)‘\nY=‘num2str(bestY)‘\n‘])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3217 1998-04-22 10:44 gatbx\bs2rv.m
文件 1835 1998-04-22 10:44 gatbx\contents.m
文件 1168 1998-04-22 10:44 gatbx\crtba
文件 2187 1998-04-22 10:44 gatbx\crtbp.m
文件 2091 2005-12-04 10:21 gatbx\crtrp.m
文件 12501 2005-11-28 15:21 gatbx\DOC\GA TOOLBOX FREQUENTLY ASKED QUESTIONS.txt
文件 273 2005-12-02 09:07 gatbx\DOC\GATBXA0.LOG
文件 16715 2005-12-02 09:07 gatbx\DOC\GATBXA0.PDF
文件 53484 1998-04-22 11:14 gatbx\DOC\GATBXA0.PS
文件 458 2005-12-02 09:10 gatbx\DOC\GATBXA1.LOG
文件 109101 2005-12-02 09:10 gatbx\DOC\GATBXA1.PDF
文件 204230 1998-04-22 11:14 gatbx\DOC\GATBXA1.PS
文件 273 2005-12-02 09:16 gatbx\DOC\GATBXA2.LOG
文件 101958 2005-12-02 09:16 gatbx\DOC\GATBXA2.PDF
文件 200234 1998-04-22 11:14 gatbx\DOC\GATBXA2.PS
文件 18351 2005-11-28 15:25 gatbx\DOC\gpl.txt
文件 1525 2005-11-28 15:25 gatbx\DOC\readme.txt
文件 98687 2005-11-28 16:18 gatbx\DOC\The MathWorks - 1-18GTU Why do I get an error in MATLAB 6_0 (R12) where I got a warning in R11 with reference to uninitialized variables.mht
文件 7205 1998-04-22 10:44 gatbx\migrate.m
文件 4019 1998-04-22 10:44 gatbx\mpga.m
文件 1609 1998-04-22 10:44 gatbx\mut.m
文件 3437 1998-04-22 10:44 gatbx\mutate.m
文件 4943 1998-04-22 10:44 gatbx\mutbga.m
文件 2629 1998-04-22 10:44 gatbx\objfun1.m
文件 2559 1998-04-22 10:44 gatbx\objharv.m
文件 4709 1998-04-22 10:44 gatbx\ranking.m
文件 1825 1998-04-22 10:44 gatbx\recdis.m
文件 1895 1998-04-22 10:44 gatbx\recint.m
文件 1953 1998-04-22 10:44 gatbx\reclin.m
文件 4852 1998-04-22 10:44 gatbx\recmut.m
............此处省略49个文件信息
- 上一篇:基于matlab的三维地球模型
- 下一篇:最优化方法及其Matlab程序设计.pdf
相关资源
- 最优化方法及其Matlab程序设计.pdf
- 基于matlab的三维地球模型
- Matlab编写多目标优化算法NSGA-Ⅱ的详解
- MATLAB2019A官方手册.pdf
- 自动驾驶matlab
- 利用MATLAB画简单的路线图
- 核密度估计matlab程序
- 全面详解LTE:MATLAB建模、仿真与实现
- MATLAB编程(第二版)-菜鸟入门教材
- 基于MATLAB实现图片透视效果矫正
- 机械振动系统的matlab模拟程序
- 7站定位,基于matlab声源定位
- 基于matlab的cdma通信系统的仿真
- 遗传算法 -- matlab ga工具箱
- QFT-Matlab设计工具箱
- 卫星位置计算器实验材料.zip
- matlab mean shift EDISON Wrapper 图像分割
- MATLAB小波变换图像处理总结
- 基于MATLAB的JPEG的编码和解码
- matlab 2014a中文帮助文档pdf
- MATLAB车辆工程应用实战程序
- matlab基于颜色的车牌识别程序
- MATLAB神经网络30个案例分析源代码.r
- 基于MATLAB的人脸五官识别184027
- 基于matlab的数字图像处理实验设计完
- 基于神经网络的人脸识别代码
- A*路径规划算法
- 基于MATLAB GUI的PCA人脸识别门禁系统
- matlab实现的sift的图像拼接
- field ii 教程
评论
共有 条评论