clc
clear all
%%
%输入数据和输出数据
P = [24358, 24242, 26377;
24242, 26377, 23125.2;
26377, 23125.2, 29797.6;
23125.2, 29797.6, 22213.6;
29797.6, 22213.6, 28373.3;
22213.6, 28373.3, 26839.5;
28373.3, 26839.5, 26263.9];
T = [23125.2 29797.6 22213.6 28373.3 26839.5 26263.9 26900.8];
%归一化数据
[input,inputps] = mapminmax(P,0,1);
[output,outputps] = mapminmax(T,0,1);
%%
%构建BP神经网络
net = newff(input',output,[4,6]);
%训练神经网络
net.trainParam.epochs = 100000;
net.trainParam.goal = 0.000001;
net.trainParam.lr = 0.1
net = train(net,input',output);
%%
%%预测结果
%神经网络输出
sim_out_1 = sim(net,[ 28373.3, 26839.5, 26263.9]');
sim_out_2 = sim(net,[ 26839.5, 26263.9, sim_out_1]');
sim_out_3 = sim(net,[ 26263.9, sim_out_1, sim_out_2]');
sim_out_4 = sim(net,[ sim_out_1, sim_out_2, sim_out_3]');
sim_out_5= sim(net,[ sim_out_2, sim_out_2, sim_out_4]');
%反归一化,最终结果
sim_out = mapminmax('reverse',sim_out_1,outputps)
sim_out = mapminmax('reverse',sim_out_2,outputps)
sim_out = mapminmax('reverse',sim_out_3,outputps)
sim_out = mapminmax('reverse',sim_out_4,outputps)
sim_out = mapminmax('reverse',sim_out_5,outputps)
如果不对要怎么才能输出未来5年的数据?求指教,万分感谢!
最后还有一个问题,为什么我每次运行输出的结果都不一样呢?求指教