?? yichuansufa.m
字號(hào):
tic
p1=0.1; %復(fù)制概率
p2=0.8; %初始交叉概率
p3=0.1; %初始變異概率
quanyangben=[841.49
826.89
831.91
850.8
866.25
870.65
859.4
857.76
836.46
837.8
888.26
860.65
881.65
878.53
872.71
867.87
855.94
882.78
882.52
868.8
873.25
889.16
864.57
858.26
875.1
872.77
872.79
874.19
868.03
868.68
856.74
864.69
841.3
856.7
873.61
866.74
838.44
830.11
826.01
813.27
797.25
801.14
818.31
789.65
789.09
814.03
826.2
838.38
837.68
831.04
809.13
802.49
812.59
813.72
833.96
820.45
817.64
818.75
804.15
829.71
845.73
839.64
830.7
823.74
816.39
799.27
806.59
784.86
749.13
695
715.47
729.2
742.33
759.3
779.38
793.46
779.81
797.46
793.32
784.57
817.8
825.42
794.63
805.63
801.07
786.51
790.59
825.23
813.9
827.15
830.37
805.01
794.65
800.47
828.65
843.87
815.6
812.72
815.18
793.06
790.29
823.36
828.11
806.34
811.63
832.25
809.86
801.05
830
812.1
816.8
820.58
818.21
798.06
817.83
839.15
845.2
850.69
838.88
836.98
851.11
817.06
790.21
799.27
833.16
836.26
843.95
822.15
829.43
844.04
843.29
861.96
871.36
837.23
840.3
827.82
845.12
834.11
849
857.79
865.3
848.02
837.54
877.76
877.78
869.32
871.68
835.68
824.55
816.48
841.97
848.34
850.97
851.75
849.84
835.48
775.8
825.55
849.49
847.28
794.79
800.98
813.36
811.9
875.47
870.37
822.36
852.78
869.77
853.26
832.51
863.76
872.89
885.52
893.61
889.38
856.98
859.92
886.34
908.53
930.93
917.51
885.71
879.33
864.59
885.1
905.9
909.56
873.9
873.07
866.43
850.34
869.99
864.38
881.66
857.3
862.66
859.78
869.65
886.36
876.11
855.07
826.41
884.69
860.33
857.09
883.43
883.02
877.5
866.77
860.19
856.64
857.04
862.48
870.71
869.96
869.22];
chi=size(quanyangben,1);
for i=1:chi
if mod(i,7)==1
B1(fix((i-1)/7)+1,:)=quanyangben(i,:);
end
if mod(i,7)==2
B2(fix((i-1)/7)+1,:)=quanyangben(i,:);
end
if mod(i,7)==3
B3(fix((i-1)/7)+1,:)=quanyangben(i,:);
end
if mod(i,7)==4
B4(fix((i-1)/7)+1,:)=quanyangben(i,:);
end
if mod(i,7)==5
B5(fix((i-1)/7)+1,:)=quanyangben(i,:);
end
if mod(i,7)==6
B6(fix((i-1)/7)+1,:)=quanyangben(i,:);
end
if mod(i,7)==0
B7(fix((i-1)/7)+1,:)=quanyangben(i,:);
end
end
xingqi=[B1 B2 B3 B4 B5 B6 B7];
%下面把數(shù)據(jù)歸一化,原來的元素x換成y=(x-min)*(0.9-0.1)/(max-min)+0.1,以使值在[0.1,0.9]之間,最后再把y換回
guiyihua=(xingqi-min(min(xingqi)).*ones(chi/7,7)).*(0.9-0.1)./(max(max(xingqi))-min(min(xingqi)))+0.1;
%下面取bb111每一行的第一個(gè)數(shù)相當(dāng)于星期一,mm個(gè)一組作為一個(gè)樣本,共取c個(gè)樣本,%,(一個(gè)樣本有6個(gè)分量,數(shù)是已經(jīng)規(guī)一化的數(shù)據(jù),在[0.1,0.9]之間).
c=6; %用于訓(xùn)練的樣本個(gè)數(shù)
%下面設(shè)置神經(jīng)網(wǎng)絡(luò)的參數(shù)
mm=6; %輸入節(jié)點(diǎn)數(shù)
nn=1; %輸出節(jié)點(diǎn)數(shù)
k1=4; %隱層節(jié)點(diǎn)數(shù)
c22=7; %檢驗(yàn)樣本個(gè)數(shù)
a0=1; % a0表示用guiyihua的哪一列,即星期幾
for j=1:c+6
xunlianyangben(:,j)=guiyihua(j:j+c-1,a0);
end
xunlianyangben; %存放訓(xùn)練樣本,存放訓(xùn)練樣本mm行c+6列,一列為一個(gè)樣本,前6列作為訓(xùn)練時(shí)用,檢驗(yàn)網(wǎng)絡(luò)時(shí),,
for i0=1:c22
jianyanyangben(:,i0)=guiyihua(c+1+i0-1:c+1+i0-1+c-1,a0);
end
jianyanyangben; %存放檢驗(yàn)樣本,對(duì)應(yīng)以 p 的1-6列作為訓(xùn)練樣本的檢驗(yàn)樣本是p20的第一列,即bb111的7-12行,目標(biāo)輸出第13行,
%檢驗(yàn)第二個(gè)樣本即p20的第二列時(shí), 用p 的2-7列作為訓(xùn)練樣本,依次類推。
%下面取初始權(quán)值和閾值在[a1,b1]之間,區(qū)間長(zhǎng)為b1-a1,并把所有權(quán)值和閾值放到一行成為一條染色體
%下面產(chǎn)生這樣的染色體pp個(gè),放入一個(gè)pp行(mm*k1+k1*nn)列的矩陣ww
wo=(k1+nn+mm*k1+k1*nn); %wo=24
x0=0; %隱層節(jié)點(diǎn)的增加個(gè)數(shù)
k11=k1+x0; %加上增量后的隱層節(jié)點(diǎn)數(shù)
x00=x0*(mm+x0+x0); %每增加一個(gè)隱層節(jié)點(diǎn),染色體長(zhǎng)度會(huì)增加x00個(gè)數(shù),mm是增加的輸入到隱層權(quán)值,x0是增加的隱層到輸出的權(quán)值,x0是增加的隱層閾值
getichangdu=wo+x00; %增加隱層節(jié)點(diǎn)后的染色體長(zhǎng)度
pp=30;%染色體數(shù)目
zuojie=0.001;
youjie=0.999;
jiechang=youjie-zuojie;
ll=0; %記錄運(yùn)行代數(shù)
M=10;;%最大遺傳代數(shù)
TL=[];%用于變異的禁忌表,
du=100;%用于變異的禁忌表長(zhǎng)度
NS=200;%用于變異的一個(gè)鄰域中的元素個(gè)數(shù)
%下面訓(xùn)練神經(jīng)網(wǎng)絡(luò)
for i0=2:2 %i0的循環(huán)是控制檢驗(yàn)第幾個(gè)樣本的
daishu=[];
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -