资源简介
本代码包为 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_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论