读取数据dataxlsreaddataxls
训练预测数据data_trai
data1113data_testdata118123
i
put_trai
data_trai
19output_trai
data_trai
10
i
put_testdata_test19output_testdata_test10
数据归一化i
put
mi
i
putmaxi
putoutput
mi
outputmaxoutputprem
mxi
put_trai
output_trai
对p和t进行字标准化预处理
et
ewffmi
maxi
put
101ta
sigpureli
trai
lm
ettrai
Paramepochs100
ettrai
Paramlr01
ettrai
Paramgoal000001
ettrai
ParamshowNaN
网络训练
ettrai
eti
put
output
数据归一化i
put
_testtram
mxi
put_testmi
i
putmaxi
put
a
sim
eti
put
test_simupostm
mxa
mi
outputmaxoutput
errortest_simuoutput_trai
ploterror
kerroroutput_trai
ffu
ctio
retCrosspcrossle
chromchromsizepopbou
d
本函数完成交叉操作
pcorss
i
put交叉概率
le
chrom
i
put染色体的长度
chromi
put染色体群
sizepop
i
put种群规模
ret
output交叉后的染色体
fori1sizepop每一轮for循环中,可能会进行一次交叉操作,染色体是随机选择的,交
叉位置也是随机选择的,但该轮for循环中是否进行交叉操作则由交叉概率决定(co
ti
ue控
制)
随机选择两个染色体进行交叉
pickra
d12
whileprodpick0
pickra
d12
e
d
i
dexceilpicksizepop
交叉概率决定是否进行交叉
pickra
d
whilepick0
pickra
d
e
d
ifpickpcross
co
ti
ue
e
d
flag0
whileflag0
随机选择交叉位
pickra
d
whilepick0
pickra
d
e
d
posceilpicksumle
chrom随机选择进行交叉的位置,即选择第几个变量进行交叉,注意:两个染色体交叉的位置相同
pickra
d交叉开始
v1chromi
dex1pos
v2chromi
dex2pos
chromi
dex1pospickv21pickv1
chromi
dex2pospickv11pickv2交叉结束flag1testle
chrombou
dchromi
dex1检验染色体1的可行性flag2testle
chrombou
dchromi
dex2检验染色体2的可行性
ifflag1flag20
fflag0elseflag1e
d如果两个染色体不是都可行,则重新交叉e
de
dretchrom
清空环境变量clcclear网络结构建立读取数据loaddatai
putoutput
节点个数i
put
um2hidde
um5output
um1
训练数据和预测数据i
put_trai
i
put11900i
put_testi
put19012000output_trai
output11900output_testoutput19012000
选连样本输入输出数据归一化i
put
i
putpsmapmi
maxi
put_trai
output
outputpsmapmi
maxoutput_trai
构建网络
et
ewffi
put
output
hidde
um
遗传算法参数初始化maxge
10sizepop10pcross03pmutatio
01
进化代数,即迭代次数种群规模
交叉概率选择,0和1之间变异概率选择,0和1之间
节点总数
f
umsumi
put
umhidde
umhidde
umhidde
umor