bp神经网络进行交通预测的Matlab源代码
2012年01月17日
[b]%bp神经网络进行交通预测的Matlab源代码 [/b]
[b] % BP 神经网络用于预测 [/b]
[b] % 使用平台 - Matlab7.0 [/b]
[b] % 数据为1986年到2000年的交通量 ,网络为3输入,1输出 [/b]
[b] % 15组数据,其中9组为正常训练数据,3组为变量数据,3组为测试数据 [/b]
[b] %by akjuan [/b]
[b] %all rights preserved by [url=http://www.4math.cn]www.4math.cn[/url] [/b]
[b] 08.11 [/b]
[b] clc [/b]
[b] clear [/b]
[b] All_error=[];%所有误差存储 [/b]
[b] %------------------------------------------------- -- [/b]
[b] %原始数据 [/b]
[b] %------------------------------------------------- -- [/b]
[b] year=1986:2000;%数据是从1986到2000年的 [/b]
[b] p=[493 372 445;372 445 176;445 176 235;176 235 378;235 378 429;... [/b]
[b] 378 429 561;429 561 651;561 651 467;651 467 527;467 527 668;... [/b]
[b] 527 668 841; 668 841 526;841 526 480;526 480 567;480 567 685]';%输入数据,共15组,每组3个输入 [/b]
[b] t=[176 235 378 429 561 651 467 527 668 841 526 480 567 685 507];%输出数据,共15组,每组1个输出 [/b]
[b] %------------------------------------------------- -- [/b]
[b] %数据归一化处理,归一化数据到[-1,1],mapminmax函数调用形式 [/b]
[b] %[y,ps] =%mapminmax(x,ymin,ymax),x需归化的数据输入, [/b]
[b] %ymin,ymax为需归化到的范围,不填默认为归化到[-1,1] [/b]
[b] %返回归化后的值y,以及参数ps,ps在结果反归一化中,需要调用 [/b]
[b] %------------------------------------------------- -- [/b]
[b] [normInput,ps] = mapminmax(p); [/b]
[b] [normTarget,ts] = mapminmax(t); [/b]
[b] %------------------------------------------------- -- [/b]
[b] %数据乱序,及分类处理,将输入的15组数据,0.2%既3组,用来作为测试数据, [/b]
[b] % 0.2%既3组,用来作为变化数据,另外9组用来正常输入,用来训练 [/b]
[b] %DIVIDEVEC用来重新随机抽取上述三种分类的数据,原来的顺序被打乱 [/b]
[b] %函数调用的语法[trainV,valV,testV] &#
2012年01月17日
[b]%bp神经网络进行交通预测的Matlab源代码 [/b]
[b] % BP 神经网络用于预测 [/b]
[b] % 使用平台 - Matlab7.0 [/b]
[b] % 数据为1986年到2000年的交通量 ,网络为3输入,1输出 [/b]
[b] % 15组数据,其中9组为正常训练数据,3组为变量数据,3组为测试数据 [/b]
[b] %by akjuan [/b]
[b] %all rights preserved by [url=http://www.4math.cn]www.4math.cn[/url] [/b]
[b] 08.11 [/b]
[b] clc [/b]
[b] clear [/b]
[b] All_error=[];%所有误差存储 [/b]
[b] %------------------------------------------------- -- [/b]
[b] %原始数据 [/b]
[b] %------------------------------------------------- -- [/b]
[b] year=1986:2000;%数据是从1986到2000年的 [/b]
[b] p=[493 372 445;372 445 176;445 176 235;176 235 378;235 378 429;... [/b]
[b] 378 429 561;429 561 651;561 651 467;651 467 527;467 527 668;... [/b]
[b] 527 668 841; 668 841 526;841 526 480;526 480 567;480 567 685]';%输入数据,共15组,每组3个输入 [/b]
[b] t=[176 235 378 429 561 651 467 527 668 841 526 480 567 685 507];%输出数据,共15组,每组1个输出 [/b]
[b] %------------------------------------------------- -- [/b]
[b] %数据归一化处理,归一化数据到[-1,1],mapminmax函数调用形式 [/b]
[b] %[y,ps] =%mapminmax(x,ymin,ymax),x需归化的数据输入, [/b]
[b] %ymin,ymax为需归化到的范围,不填默认为归化到[-1,1] [/b]
[b] %返回归化后的值y,以及参数ps,ps在结果反归一化中,需要调用 [/b]
[b] %------------------------------------------------- -- [/b]
[b] [normInput,ps] = mapminmax(p); [/b]
[b] [normTarget,ts] = mapminmax(t); [/b]
[b] %------------------------------------------------- -- [/b]
[b] %数据乱序,及分类处理,将输入的15组数据,0.2%既3组,用来作为测试数据, [/b]
[b] % 0.2%既3组,用来作为变化数据,另外9组用来正常输入,用来训练 [/b]
[b] %DIVIDEVEC用来重新随机抽取上述三种分类的数据,原来的顺序被打乱 [/b]
[b] %函数调用的语法[trainV,valV,testV] &#