資源簡介
《MATLAB智能算法30個案例分析》(第二版)(pdf+代碼)
代碼片段和文件信息
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‘])
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-11-29?15:43??MATLAB_Codes\
?????目錄???????????0??2018-11-29?15:43??MATLAB_Codes\chapter1\
?????文件????????1909??2010-10-31?21:26??MATLAB_Codes\chapter1\example1.m
?????文件????????2113??2010-10-31?21:25??MATLAB_Codes\chapter1\example2.m
?????文件??????423860??2015-06-14?16:27??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱.rar
?????目錄???????????0??2018-11-29?15:43??MATLAB_Codes\chapter10\
?????文件?????????422??2010-12-28?22:11??MATLAB_Codes\chapter10\data.mat
?????文件????????6048??2010-12-28?22:11??MATLAB_Codes\chapter10\main.m
?????目錄???????????0??2018-11-29?15:43??MATLAB_Codes\chapter11\
?????文件????????1067??2007-09-24?14:52??MATLAB_Codes\chapter11\aberranceJm.m
?????文件????????2329??2007-09-17?16:11??MATLAB_Codes\chapter11\across.m
?????文件????????1325??2007-09-17?16:05??MATLAB_Codes\chapter11\cal.m
?????文件?????????555??2007-09-17?16:01??MATLAB_Codes\chapter11\calp.m
?????文件????????1276??2007-09-17?16:05??MATLAB_Codes\chapter11\caltime.m
?????文件?????????178??2007-08-22?15:17??MATLAB_Codes\chapter11\Find.m
?????文件????????2816??2015-06-18?16:26??MATLAB_Codes\chapter11\main.m
?????文件?????????487??2007-07-14?14:48??MATLAB_Codes\chapter11\plotRec.m
?????文件????????4708??2010-12-23?16:38??MATLAB_Codes\chapter11\ranking.M
?????文件????????5574??1998-04-22?10:44??MATLAB_Codes\chapter11\REINS.M
?????文件????????1090??1998-04-22?10:44??MATLAB_Codes\chapter11\RWS.M
?????文件?????????527??2010-12-23?16:31??MATLAB_Codes\chapter11\scheduleData.mat
?????文件????????2401??1998-04-22?10:44??MATLAB_Codes\chapter11\SELECT.M
?????文件?????????398??2007-09-24?14:03??MATLAB_Codes\chapter11\selectJm.m
?????目錄???????????0??2018-11-29?15:43??MATLAB_Codes\chapter12\
?????文件????????1669??2010-09-06?09:12??MATLAB_Codes\chapter12\bestselect.m
?????文件????????7910??2010-09-07?10:22??MATLAB_Codes\chapter12\centre.fig
?????文件?????????479??2010-09-06?09:46??MATLAB_Codes\chapter12\concentration.m
?????文件????????1294??2010-09-06?14:49??MATLAB_Codes\chapter12\Cross.m
?????文件????????1046??2010-09-06?09:35??MATLAB_Codes\chapter12\draw.m
?????文件?????????400??2010-09-06?09:41??MATLAB_Codes\chapter12\excellence.m
?????文件????????9007??2010-09-07?10:22??MATLAB_Codes\chapter12\figure.fig
............此處省略366個文件信息
- 上一篇:快速ICA程序代碼
- 下一篇:MATLAB神經網絡43個案例分析全程序+數據
評論
共有 條評論