qq_38469389 2017-04-26 13:12
浏览 3250
已结题

有关MATLAB神经网络预测的问题,请问我这个最后输出的五个值分别是未来五年的值吗?

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年的数据?求指教,万分感谢!
最后还有一个问题,为什么我每次运行输出的结果都不一样呢?求指教

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 stm32流水灯+呼吸灯+外部中断按键
    • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
    • ¥15 NX MCD仿真与博途通讯不了啥情况
    • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
    • ¥15 gradio的web端页面格式不对的问题
    • ¥15 求大家看看Nonce如何配置
    • ¥15 Matlab怎么求解含参的二重积分?
    • ¥15 苹果手机突然连不上wifi了?
    • ¥15 cgictest.cgi文件无法访问
    • ¥20 删除和修改功能无法调用