📄 车流量的神经网络预测及其优化源代码.txt
字号:
function y=bp_net(x)
%-----------------------------------------------
%星期一由东向西的车流量
P=[320 352 311 330 268 295 317 286 ;
352 311 330 268 295 317 286 295 ;
311 330 268 295 317 286 295 310 ;
330 268 295 317 286 295 310 326 ;
268 295 317 286 295 310 326 332 ;
295 317 286 295 310 326 332 361 ;
317 286 295 310 326 332 361 347 ;
286 295 310 326 332 361 347 305 ;
295 310 326 332 361 347 305 287 ;
310 326 332 361 347 305 287 296 ;
326 332 361 347 305 287 296 311 ;
332 361 347 305 287 296 311 287 ;
361 347 305 287 296 311 287 256 ;
347 305 287 296 311 287 256 229 ;
305 287 296 311 287 256 229 184 ;
287 296 311 287 256 229 184 176 ;
296 311 287 256 229 184 176 130 ;
311 287 256 229 184 176 130 157 ;
287 256 229 184 176 130 157 234 ;
256 229 184 176 130 157 234 250 ;
229 184 176 130 157 234 250 267 ;
184 176 130 157 234 250 267 253 ;
176 130 157 234 250 267 253 306 ;
130 157 234 250 267 253 306 347 ;
157 234 250 267 253 306 347 290 ;
234 250 267 253 306 347 290 336 ;
250 267 253 306 347 290 336 229 ;
267 253 306 347 290 336 229 263 ;
253 306 347 290 336 229 263 230 ;
306 347 290 336 229 263 230 257 ;
347 290 336 229 263 230 257 211 ;
290 336 229 263 230 257 211 193 ;
336 229 263 230 257 211 193 201 ;
229 263 230 257 211 193 201 236 ;
263 230 257 211 193 201 236 266 ;
230 257 211 193 201 236 266 347 ;
257 211 193 201 236 266 347 206 ;
211 193 201 236 266 347 206 211 ;
193 201 236 266 347 206 211 217 ;
201 236 266 347 206 211 217 245 ;
236 266 347 206 211 217 245 230 ;
266 347 206 211 217 245 230 219 ;
347 206 211 217 245 230 219 183 ;
206 211 217 245 230 219 183 156 ;
211 217 245 230 219 183 156 130 ;%Monday
344 367 329 343 277 296 302 269 ;
367 329 343 277 296 302 269 305 ;
329 343 277 296 302 269 305 317 ;
343 277 296 302 269 305 317 344 ;
277 296 302 269 305 317 344 320 ;
296 302 269 305 317 344 320 331 ;
302 269 305 317 344 320 331 357 ;
269 305 317 344 320 331 357 310 ;
305 317 344 320 331 357 310 298 ;
317 344 320 331 357 310 298 287 ;
344 320 331 357 310 298 287 266 ;
320 331 357 310 298 287 266 256 ;
331 357 310 298 287 266 256 221 ;
357 310 298 287 266 256 221 148 ;
310 298 287 266 256 221 148 184 ;
298 287 266 256 221 148 184 130 ;
287 266 256 221 148 184 130 107 ;
266 256 221 148 184 130 107 186 ;
256 221 148 184 130 107 186 177 ;
221 148 184 130 107 186 177 255 ;
148 184 130 107 186 177 255 277 ;
184 130 107 186 177 255 277 237 ;
130 107 186 177 255 277 237 314 ;
107 186 177 255 277 237 314 351 ;
186 177 255 277 237 314 351 287 ;
177 255 277 237 314 351 287 362 ;
255 277 237 314 351 287 362 327 ;
277 237 314 351 287 362 327 258 ;
237 314 351 287 362 327 258 235 ;
314 351 287 362 327 258 235 241 ;
351 287 362 327 258 235 241 205 ;
287 362 327 258 235 241 205 195 ;
362 327 258 235 241 205 195 203 ;
327 258 235 241 205 195 203 201 ;
258 235 241 205 195 203 201 203 ;
235 241 205 195 203 201 203 213 ;
241 205 195 203 201 203 213 217 ;
205 195 203 201 203 213 217 235 ;
195 203 201 203 213 217 235 230 ;
203 201 203 213 217 235 230 221 ;
201 203 213 217 235 230 221 153 ;
203 213 217 235 230 221 153 122 ;
213 217 235 230 221 153 122 130 ;%Tuesday
325 330 356 381 343 322 327 299 ;
330 356 381 343 322 327 299 337 ;
356 381 343 322 327 299 337 324 ;
381 343 322 327 299 337 324 320 ;
343 322 327 299 337 324 320 311 ;
322 327 299 337 324 320 311 340 ;
327 299 337 324 320 311 340 325 ;
299 337 324 320 311 340 325 333 ;
337 324 320 311 340 325 333 312 ;
324 320 311 340 325 333 312 289 ;
320 311 340 325 333 312 289 267 ;
311 340 325 333 312 289 267 259 ;
340 325 333 312 289 267 259 262 ;
325 333 312 289 267 259 262 180 ;
333 312 289 267 259 262 180 165 ;
312 289 267 259 262 180 165 125 ;
289 267 259 262 180 165 125 127 ;
267 259 262 180 165 125 127 108 ;
259 262 180 165 125 127 108 115 ;
262 180 165 125 127 108 115 140 ;
180 165 125 127 108 115 140 180 ;
165 125 127 108 115 140 180 202 ;
125 127 108 115 140 180 202 208 ;
127 108 115 140 180 202 208 175 ;
108 115 140 180 202 208 175 189 ;
115 140 180 202 208 175 189 192 ;
140 180 202 208 175 189 192 206 ;
180 202 208 175 189 192 206 201 ;
202 208 175 189 192 206 201 200 ;
208 175 189 192 206 201 200 202 ;
175 189 192 206 201 200 202 211 ;
189 192 206 201 200 202 211 200 ;
192 206 201 200 202 211 200 197 ;
206 201 200 202 211 200 197 180 ;
201 200 202 211 200 197 180 176 ;
200 202 211 200 197 180 176 150 ;
202 211 200 197 180 176 150 154 ;
211 200 197 180 176 150 154 198 ;
200 197 180 176 150 154 198 220 ;
197 180 176 150 154 198 220 250 ;
180 176 150 154 198 220 250 220 ;
176 150 154 198 220 250 220 180 ;
150 154 198 220 250 220 180 140 ;
154 198 220 250 220 180 140 125 ;
198 220 250 220 180 140 125 122];
T=[295 310 326 332 361 347 305 287 296 311 287 256 229 184 176 130 157 234 ...
250 267 253 306 347 290 336 229 263 230 257 211 193 201 236 266 347 206 211 217 245 230 219 183 156 130 129 ...
305 317 344 320 331 357 310 298 287 362 327 258 235 241 205 195 203 362 266 256 221 148 184 130 107 186 177 ...
255 277 237 314 351 287 362 327 258 235 241 205 195 203 201 213 217 235 230 221 153 122 130 ...
337 324 320 311 340 325 333 312 289 267 259 262 180 165 125 127 108 115 ...
140 180 202 208 175 189 192 206 201 200 202 211 200 197 180 176 150 154 198 220 250 220 180 140 125 122 121];
% 归一化以上两个矩阵,车辆范围150~400
t1=length(P)
t2=length(T)
min=100;max=370;
for i=1:t1
for j=1:8
(i,j)=(P(i,j)-min)/(max-min);
end
T(i)=(T(i)-min)/(max-min);
end
S1=17;%13;%隐层节点个数
S2=2;
[w1,b1,w2,b2]=initff(P',S1,'tansig',T,'purelin')%初始化网络,最多三层
%[w1,b1,w2,b2,w3,b3]=initff(P,S1,'tansig',S2,'purelin');
% k=pickic;
% if k==2
% % w1=[0.5641;0.8164];
% % b1=[-0.3781;0.3062];
% % w2=[0.3313 0.9980];
% % b2=[-0.1772];
% %--------------------------------------------------------------------------
% %---------------------------------------------------100
% w1=[2.4063 2.7415 1.4561 -2.5735 4.0384 2.3961 -1.8559 0.4239;
% -2.7761 -1.3457 0.9658 0.0149 -2.0444 -3.4898 -2.3073 -2.7993;
% 3.2467 1.6495 4.6956 1.0841 -3.2989 -0.7979 -1.2666 -0.9117;
% 1.3622 4.2306 0.9504 -3.0748 -2.9399 -1.7217 1.5410 -1.2017;
% 0.0188 -1.9732 1.7077 -1.7858 1.6021 -3.9084 -3.3716 -1.9279;
% -1.2426 -3.4794 2.5151 3.7008 3.7426 -1.4297 -0.9531 -1.2012;
% 0.0401 2.2170 -4.3445 -2.6141 -1.9640 -0.4439 -2.4358 3.4639;
% -2.2584 3.1693 -3.9980 -2.6921 -2.6064 0.4021 0.9890 -1.5112;
% -3.0588 2.2151 0.1952 -2.4010 -2.5893 1.3482 1.5322 -3.3741;
% -2.6333 -2.3508 2.2585 1.3113 -2.7351 -1.5705 3.5988 1.7061;
% -2.3524 3.1016 2.1774 1.1169 -3.2643 0.0554 1.9463 -3.0639;
% -1.2864 1.2364 -4.2832 -2.6603 -2.8947 -0.5233 2.6459 3.1057;
% 0.1316 1.8756 2.2655 4.9274 0.3631 0.3435 3.4166 -2.8535;
% -0.9200 1.9676 2.9861 3.0741 -2.7440 1.4456 4.4996 0.1083;
% 1.4444 0.1330 -1.6620 -5.7574 0.6894 -1.2357 -2.2234 -3.6448;
% -3.4055 1.9742 1.7287 -0.7171 -2.9113 2.4279 -0.3615 3.1177;
% 1.5182 -0.9803 0.9349 -0.9522 1.4335 5.3663 3.1944 -0.4715];
%
% b1=[-5.5205;9.0924;-2.4769;0.6689;6.7549;-2.8945;3.7084;5.9825;4.0662;1.1158;0.4256;1.6425;-7.0904;-5.1974;6.3409;-1.5962;-6.4703];
% w2=[0.0656 0.0134 -0.0514 0.0029 -0.0230 -0.1441 0.1241 -0.1129 0.0399 -0.2237 0.0039 -0.2737 -0.2446 0.4762 -0.3628 0.1147 -0.0909];
% b2=-0.1783;
% %--------------------------------------------------------------------------
% end
% df=10;
% me=1000;%800;
% eg=0.0001;%0.00005
% lr=0.02;
% tp=[df me eg lr];
% [w1,b1,w2,b2,te,tr]=trainlm(w1,b1,'tansig',w2,b2,'purelin',P',T,tp);
% [w1,b1,w2,b2,w3,b3,ep,tr]=trainbp(w1,b1,'tansig',w2,b2,'tansig',w3,b3,'purelin',P,T,tp);
disp_fqre=10;max_epoch=100;err_goal=0.0005;spread=1.0;
TP=[disp_fqre max_epoch err_goal spread];
[w1,b1,w2,b2,nr,err]=solverb(P',T,TP);
w1;
b1;
w2;
b2;
nr
y=[w1(1, b1(1) w1(2, b1(2) w1(3, b1(3) w1(4, b1(4) w1(5, b1(5) w1(6,:) b1(6) w1(7,:) b1(7) w1(8,:) b1(8) ...
w1(9,:) b1(9) w1(10,:) b1(10) w1(11,:) b1(11) w1(12,:) b1(12) w1(13,:) b1(13) w1(14,:) b1(14) w1(15,:) b1(15) w1(16,:) b1(16) w1(17,:) b1(17) w2 b2];
P=[236; 266 ;347 ;206 ;211 ;217 ;245;230];%[295; 310; 326; 332; 361; 347 ;305;287];
T=296;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -