小波神经网络预测代码

 cengcifenxi.m

clc
clear 
A=[1 5 3 7;1/5 1 1/3 3;1/3 3 1 5;1/7 1/3 1/5 1];
[m,n]=size(A);
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
R=rank(A);
[V,D]=eig(A);
tz=max(D);
B=max(tz);
[row,col]=find(D==B);
C=V(:,col);
CI=(B-n)/(n-1);
CR=CI/RI(1,n);
if CR<0.10
    disp('CI=');disp(CI);
    disp('CR=');disp(CR);
    disp('矩阵通过一致性检验,各向量权重向量Q为:');
    Q=zeros(n,1);
    for i=1:n
        Q(i,1)=C(i,1)/sum(C(:,1));
    end
    Q
else
    disp('矩阵没有通过一致性检验,请重新构造');
end

d_mymorlet.m

function y=d_mymorlet(t)

y = -1.75*sin(1.75*t).*exp(-(t.^2)/2)-t* cos(1.75*t).*exp(-(t.^2)/2) ;

 mymorlet.m

%这里面用到的两个子程序分别是:
function y=mymorlet(t)

y = exp(-(t.^2)/2) * cos(1.75*t);

 shenjingwangluo.m

clc
clear 
P=[-1 -1 2 2 4;0 5 0 5 7];
T=[-1 -1 1 1 -1];
P1=[3;4];
net=newff(minmax(P),[5,1],{'tansig','purelin'},'trainrp');
net.trainParam.epochs=500;
net.trainParam.goal=0.000001;
net.trainParam.lr=0.05;
net.trainParam.show=20;
[net,tr]=train(net,P,T);
sim(net,P1)

 traffic_flux.mat

 input

66 64 60 58
64 60 58 17
60 58 17 49
58 17 49 34
17 49 34 17
49 34 17 8
34 17 8 53
17 8 53 15
8 53 15 15
53 15 15 45
15 15 45 57
15 45 57 33
45 57 33 42
57 33 42 8
33 42 8 52
42 8 52 24
8 52 24 29
52 24 29 -13
24 29 -13 37
29 -13 37 37
-13 37 37 4
37 37 4 32
37 4 32 38
4 32 38 68
32 38 68 77
38 68 77 95
68 77 95 119
77 95 119 161
95 119 161 184
119 161 184 276
161 184 276 247
184 276 247 251
276 247 251 193
247 251 193 226
251 193 226 213
193 226 213 195
226 213 195 182
213 195 182 166
195 182 166 188
182 166 188 149
166 188 149 132
188 149 132 167
149 132 167 181
132 167 181 203
167 181 203 219
181 203 219 226
203 219 226 216
219 226 216 234
226 216 234 197
216 234 197 219
234 197 219 230
197 219 230 247
219 230 247 238
230 247 238 259
247 238 259 270
238 259 270 232
259 270 232 202
270 232 202 243
232 202 243 223
202 243 223 202
243 223 202 235
223 202 235 184
202 235 184 215
235 184 215 217
184 215 217 209
215 217 209 199
217 209 199 197
209 199 197 226
199 197 226 217
197 226 217 254
226 217 254 243
217 254 243 281
254 243 281 285
243 281 285 285
281 285 285 251
285 285 251 288
285 251 288 236
251 288 236 266
288 236 266 214
236 266 214 213
266 214 213 186
214 213 186 209
213 186 209 176
186 209 176 163
209 176 163 199
176 163 199 171
163 199 171 170
199 171 170 134
171 170 134 128
170 134 128 72
134 128 72 113
128 72 113 94
69 41 53 48
41 53 48 42
53 48 42 25
48 42 25 21
42 25 21 32
25 21 32 16
21 32 16 52
32 16 52 63
16 52 63 7
52 63 7 38
63 7 38 9
7 38 9 50
38 9 50 60
9 50 60 3
50 60 3 51
60 3 51 -7
3 51 -7 29
51 -7 29 32
-7 29 32 21
29 32 21 46
32 21 46 50
21 46 50 38
46 50 38 26
50 38 26 49
38 26 49 64
26 49 64 73
49 64 73 114
64 73 114 182
73 114 182 239
114 182 239 242
182 239 242 233
239 242 233 255
242 233 255 240
233 255 240 211
255 240 211 225
240 211 225 207
211 225 207 176
225 207 176 190
207 176 190 158
176 190 158 153
190 158 153 169
158 153 169 152
153 169 152 165
169 152 165 197
152 165 197 226
165 197 226 236
197 226 236 226
226 236 226 221
236 226 221 209
226 221 209 175
221 209 175 226
209 175 226 255
175 226 255 229
226 255 229 279
255 229 279 234
229 279 234 259
279 234 259 225
234 259 225 215
259 225 215 199
225 215 199 188
215 199 188 194
199 188 194 214
188 194 214 222
194 214 222 222
214 222 222 186
222 222 186 241
222 186 241 251
186 241 251 247
241 251 247 208
251 247 208 233
247 208 233 263
208 233 263 274
233 263 274 254
263 274 254 267
274 254 267 281
254 267 281 259
267 281 259 258
281 259 258 225
259 258 225 211
258 225 211 240
225 211 240 227
211 240 227 227
240 227 227 172
227 227 172 171
227 172 171 161
172 171 161 180
171 161 180 142
161 180 142 164
180 142 164 96
142 164 96 73
164 96 73 91
96 73 91 92
31 38 28 44
38 28 44 65
28 44 65 46
44 65 46 13
65 46 13 28
46 13 28 6
13 28 6 33
28 6 33 30
6 33 30 65
33 30 65 54
30 65 54 33
65 54 33 56
54 33 56 9
33 56 9 22
56 9 22 51
9 22 51 47
22 51 47 31
51 47 31 22
47 31 22 9
31 22 9 49
22 9 49 4
9 49 4 44
49 4 44 57
4 44 57 85
44 57 85 77
57 85 77 115
85 77 115 158
77 115 158 165
115 158 165 216
158 165 216 279
165 216 279 241
216 279 241 215
279 241 215 220
241 215 220 192
215 220 192 211
220 192 211 185
192 211 185 185
211 185 185 192
185 185 192 201
185 192 201 155
192 201 155 178
201 155 178 165
155 178 165 198
178 165 198 162
165 198 162 202
198 162 202 240
162 202 240 210
202 240 210 199
240 210 199 221
210 199 221 208
199 221 208 218
221 208 218 235
208 218 235 211
218 235 211 241
235 211 241 240
211 241 240 220
241 240 220 241
240 220 241 242
220 241 242 202
241 242 202 224
242 202 224 184
202 224 184 221
224 184 221 184
184 221 184 216
221 184 216 207
184 216 207 239
216 207 239 226
207 239 226 230
239 226 230 258
226 230 258 232
230 258 232 247
258 232 247 288
232 247 288 243
247 288 243 309
288 243 309 252
243 309 252 271
309 252 271 256
252 271 256 251
271 256 251 222
256 251 222 228
251 222 228 229
222 228 229 172
228 229 172 171
229 172 171 219
172 171 219 195
171 219 195 164
219 195 164 155
195 164 155 118
164 155 118 107
155 118 107 86
118 107 86 78
107 86 78 55

input_text

28 71 21 69
71 21 69 34
21 69 34 11
69 34 11 27
34 11 27 49
11 27 49 50
27 49 50 36
49 50 36 45
50 36 45 58
36 45 58 9
45 58 9 22
58 9 22 5
9 22 5 12
22 5 12 42
5 12 42 38
12 42 38 44
42 38 44 23
38 44 23 -11
44 23 -11 44
23 -11 44 41
-11 44 41 14
44 41 14 33
41 14 33 77
14 33 77 78
33 77 78 103
77 78 103 96
78 103 96 136
103 96 136 179
96 136 179 199
136 179 199 265
179 199 265 238
199 265 238 234
265 238 234 201
238 234 201 179
234 201 179 194
201 179 194 182
179 194 182 203
194 182 203 197
182 203 197 183
203 197 183 144
197 183 144 129
183 144 129 154
144 129 154 159
129 154 159 217
154 159 217 239
159 217 239 218
217 239 218 241
239 218 241 239
218 241 239 214
241 239 214 224
239 214 224 240
214 224 240 228
224 240 228 252
240 228 252 255
228 252 255 215
252 255 215 232
255 215 232 237
215 232 237 222
232 237 222 208
237 222 208 237
222 208 237 225
208 237 225 221
237 225 221 198
225 221 198 216
221 198 216 238
198 216 238 247
216 238 247 236
238 247 236 213
247 236 213 245
236 213 245 215
213 245 215 245
245 215 245 271
215 245 271 297
245 271 297 299
271 297 299 270
297 299 270 276
299 270 276 246
270 276 246 269
276 246 269 260
246 269 260 242
269 260 242 204
260 242 204 198
242 204 198 180
204 198 180 208
198 180 208 208
180 208 208 205
208 208 205 164
208 205 164 146
205 164 146 99
164 146 99 124
146 99 124 85
99 124 85 58

 output

17
49
34
17
8
53
15
15
45
57
33
42
8
52
24
29
-13
37
37
4
32
38
68
77
95
119
161
184
276
247
251
193
226
213
195
182
166
188
149
132
167
181
203
219
226
216
234
197
219
230
247
238
259
270
232
202
243
223
202
235
184
215
217
209
199
197
226
217
254
243
281
285
285
251
288
236
266
214
213
186
209
176
163
199
171
170
134
128
72
113
94
78
42
25
21
32
16
52
63
7
38
9
50
60
3
51
-7
29
32
21
46
50
38
26
49
64
73
114
182
239
242
233
255
240
211
225
207
176
190
158
153
169
152
165
197
226
236
226
221
209
175
226
255
229
279
234
259
225
215
199
188
194
214
222
222
186
241
251
247
208
233
263
274
254
267
281
259
258
225
211
240
227
227
172
171
161
180
142
164
96
73
91
92
52
65
46
13
28
6
33
30
65
54
33
56
9
22
51
47
31
22
9
49
4
44
57
85
77
115
158
165
216
279
241
215
220
192
211
185
185
192
201
155
178
165
198
162
202
240
210
199
221
208
218
235
211
241
240
220
241
242
202
224
184
221
184
216
207
239
226
230
258
232
247
288
243
309
252
271
256
251
222
228
229
172
171
219
195
164
155
118
107
86
78
55
54

output_text 

34
11
27
49
50
36
45
58
9
22
5
12
42
38
44
23
-11
44
41
14
33
77
78
103
96
136
179
199
265
238
234
201
179
194
182
203
197
183
144
129
154
159
217
239
218
241
239
214
224
240
228
252
255
215
232
237
222
208
237
225
221
198
216
238
247
236
213
245
215
245
271
297
299
270
276
246
269
260
242
204
198
180
208
208
205
164
146
99
124
85
58
87

 wavenn.m

%% 该代码为基于小波神经网络的交通流预测代码
%
% 
% 
该案例作者申明:
1:本人长期驻扎在此板块里,对该案例提问,做到有问必答。本套书籍官方网站为:video.ourmatlab.com
2:点此从当当预定本书《Matlab神经网络30个案例分析》

3:此案例有配套的教学视频,视频下载方式video.ourmatlab.com/vbuy.html

4:此案例为原创案例,转载请注明出处(《Matlab神经网络30个案例分析》)。
5:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。
% %% 清空环境变量 clc clear %% 网络参数配置 load traffic_flux input output input_test output_test M=size(input,2); %输入节点个数 N=size(output,2); %输出节点个数 n=6; %隐形节点个数 lr1=0.01; %学习概率 lr2=0.001; %学习概率 maxgen=100; %迭代次数 %权值初始化 Wjk=randn(n,M);Wjk_1=Wjk;Wjk_2=Wjk_1; Wij=randn(N,n);Wij_1=Wij;Wij_2=Wij_1; a=randn(1,n);a_1=a;a_2=a_1; b=randn(1,n);b_1=b;b_2=b_1; %节点初始化 y=zeros(1,N); net=zeros(1,n); net_ab=zeros(1,n); %权值学习增量初始化 d_Wjk=zeros(n,M); d_Wij=zeros(N,n); d_a=zeros(1,n); d_b=zeros(1,n); %% 输入输出数据归一化 [inputn,inputps]=mapminmax(input'); [outputn,outputps]=mapminmax(output'); inputn=inputn'; outputn=outputn'; error=zeros(1,maxgen); %% 网络训练 for i=1:maxgen %误差累计 error(i)=0; % 循环训练 for kk=1:size(input,1) x=inputn(kk,:); yqw=outputn(kk,:); for j=1:n for k=1:M net(j)=net(j)+Wjk(j,k)*x(k); net_ab(j)=(net(j)-b(j))/a(j); end temp=mymorlet(net_ab(j)); for k=1:N y=y+Wij(k,j)*temp; %小波函数 end end %计算误差和 error(i)=error(i)+sum(abs(yqw-y)); %权值调整 for j=1:n %计算d_Wij temp=mymorlet(net_ab(j)); for k=1:N d_Wij(k,j)=d_Wij(k,j)-(yqw(k)-y(k))*temp; end %计算d_Wjk temp=d_mymorlet(net_ab(j)); for k=1:M for l=1:N d_Wjk(j,k)=d_Wjk(j,k)+(yqw(l)-y(l))*Wij(l,j) ; end d_Wjk(j,k)=-d_Wjk(j,k)*temp*x(k)/a(j); end %计算d_b for k=1:N d_b(j)=d_b(j)+(yqw(k)-y(k))*Wij(k,j); end d_b(j)=d_b(j)*temp/a(j); %计算d_a for k=1:N d_a(j)=d_a(j)+(yqw(k)-y(k))*Wij(k,j); end d_a(j)=d_a(j)*temp*((net(j)-b(j))/b(j))/a(j); end %权值参数更新 Wij=Wij-lr1*d_Wij; Wjk=Wjk-lr1*d_Wjk; b=b-lr2*d_b; a=a-lr2*d_a; d_Wjk=zeros(n,M); d_Wij=zeros(N,n); d_a=zeros(1,n); d_b=zeros(1,n); y=zeros(1,N); net=zeros(1,n); net_ab=zeros(1,n); Wjk_1=Wjk;Wjk_2=Wjk_1; Wij_1=Wij;Wij_2=Wij_1; a_1=a;a_2=a_1; b_1=b;b_2=b_1; end end %% 网络预测 %预测输入归一化 x=mapminmax('apply',input_test',inputps); x=x'; yuce=zeros(92,1); %网络预测 for i=1:92 x_test=x(i,:); for j=1:1:n for k=1:1:M net(j)=net(j)+Wjk(j,k)*x_test(k); net_ab(j)=(net(j)-b(j))/a(j); end temp=mymorlet(net_ab(j)); for k=1:N y(k)=y(k)+Wij(k,j)*temp ; end end yuce(i)=y(k); y=zeros(1,N); net=zeros(1,n); net_ab=zeros(1,n); end %预测输出反归一化 ynn=mapminmax('reverse',yuce,outputps); %% 结果分析 figure(1) plot(ynn,'r*:') hold on plot(output_test,'bo--') title('预测交通流量','fontsize',12) legend('预测交通流量','实际交通流量','fontsize',12) xlabel('时间点') ylabel('交通流量') web browser www.matlabsky.com %% % %

Matlab神经网络30个案例分析

相关论坛:

《Matlab神经网络30个案例分析》官方网站:video.ourmatlab.com

Matlab技术论坛:www.matlabsky.com

Matlab函数百科:www.mfun.la

Matlab中文论坛:www.ilovematlab.com

%

你可能感兴趣的:(神经网络,matlab)