MATLAB提示错误使用network,跪求大神,错误使用 network/train (line 323) Output data size does not match net.outputs{2...

clear;

clc;

%输入矢量P(9*25)

P=[89.94 92.87 92.71 88.32 87.69 88.16 92.14 91.72  92.62 90.36 93.86 98.11 91.83 98.52 101.00 100.00 97.36 102.70 106.34 92.66 89.18 85.81 86.63 86.24 0;

89.90 89.68 87.74 87.80 85.30 85.35 88.84 92.58 100.53 97.14 98.77 102.06 87.06 94.89 101.77 102.33 102.10 104.60 100.10 95.12 90.87 87.12 91.13 91.91 0;

93.30 98.82 96.84 92.26 91.40 89.42 94.83 98.01 103.78 95.99 96.98 98.99 94.58 98.10 104.68 105.91 108.37 112.29 106.56 97.93 91.82 88.37 91.04 92.81 0;

92.13 98.83 96.77 93.23 93.91 93.29 97.42 99.46 98.34 96.40 95.59 96.01 94.98 98.04 103.21 106.51 106.19 108.87 100.67 93.25 90.32 86.01 86.29 84.31 0;

84.24 88.50 84.20 82.36 81.94 81.96  82.26 82.58 79.91 70.09 69.50 76.33 66.68 66.17 62.31 65.20 70.84 75.59 73.81 66.80 65.93 63.86 62.04 60.08 0;

65.00 69.62 67.99 65.83 66.08 65.51 66.41 71.71 77.34 77.75 79.89 86.83 73.52 75.57 75.96 76.96 84.23 89.39 87.17 79.93 75.74 72.13 73.71 72.40 1;

73.27 78.52 75.92 71.29 72.34 74.58 80.64 83.20 86.15 76.93 78.36 89.74 75.36 80.95 85.13 88.95 90.78 89.57 87.72 78.75 72.17 71.91 70.50 74.45 1;

70.25 77.65 74.48 74.34 72.57 72.90 81.27 84.41 80.69 80.94 81.44 90.97 78.58 81.60 86.88 91.53 95.06 100.29 98.99 88.68 85.77 83.24 85.16 83.20 0;

83.15 89.13 83.03 84.64 83.74 84.18 89.71 91.87 96.13 93.28 93.91 96.55 89.08 93.39 99.11 100.26 101.31 104.60 100.05 95.55 91.32 89.02 85.18 91.99 0]';

%目标矢量T(9*25)

T=[89.90 89.68 87.74 87.80 85.30 85.35 88.84 92.58 100.53 97.14 98.77 102.06 87.06 94.89 101.77 102.33 102.10 104.60 100.10 95.12 90.87 87.12 91.13 91.91 0;

93.30 98.82 96.84 92.26 91.40 89.42 94.83 98.01 103.78 95.99 96.98 98.99 94.58 98.10 104.68 105.91 108.37 112.29 106.56 97.93 91.82 88.37 91.04 92.81 0;

92.13 98.83 96.77 93.23 93.91 93.29 97.42 99.46 98.34 96.40 95.59 96.01 94.98 98.04 103.21 106.51 106.19 108.87 100.67 93.25 90.32 86.01 86.29 84.31 0;

84.24 88.50 84.20 82.36 81.94 81.96  82.26 82.58 79.91 70.09 69.50 76.33 66.68 66.17 62.31 65.20 70.84 75.59 73.81 66.80 65.93 63.86 62.04 60.08 0;

65.00 69.62 67.99 65.83 66.08 65.51 66.41 71.71 77.34 77.75 79.89 86.83 73.52 75.57 75.96 76.96 84.23 89.39 87.17 79.93 75.74 72.13 73.71 72.40 1;

73.27 78.52 75.92 71.29 72.34 74.58 80.64 83.20 86.15 76.93 78.36 89.74 75.36 80.95 85.13 88.95 90.78 89.57 87.72 78.75 72.17 71.91 70.50 74.45 1;

70.25 77.65 74.48 74.34 72.57 72.90 81.27 84.41 80.69 80.94 81.44 90.97 78.58 81.60 86.88 91.53 95.06 100.29 98.99 88.68 85.77 83.24 85.16 83.20 0;

83.15 89.13 83.03 84.64 83.74 84.18 89.71 91.87 96.13 93.28 93.91 96.55 89.08 93.39 99.11 100.26 101.31 104.60 100.05 95.55 91.32 89.02 85.18 91.99 0;

88.30 94.30 91.17 88.98 90.99 90.40 93.69 92.72 93.00 93.31 93.14 96.95 87.45 92.52 100.39 100.35 104.58 104.81 100.69 93.67 88.44 88.35 81.07 85.44 0]';

%归一化

[Pn,meanP,stdP,Tn,meanT,stdT] =prestd(P,T);

threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];

%创建一个新的BP前向神经网络

%newff—生成一个新的BP前向神经网络

net=newff(threshold,[50,24],{'tansig','logsig'},'traingd');

%设置训练参数

net.trainParam.lr=0.5;        %学习速率(0.01-0.8)

net.trainParam.mc=0.9;         %动量因子

net.trainParam.show=10;

net.trainParam.epochs=1000;    %训练的代数

net.trainParam.goal=0.001;    %目标误差

%训练BP前向神经网络

%P为输入向量,T为目标向量

net=train(net,P,T);

%仿真

%T1:31日实际负荷;P1:30日负荷+31日气象特征;A1:31日预测负荷

P1=[83.15 89.13 83.03 84.64 83.74 84.18 89.71 91.87 96.13 93.28 93.91 96.55 89.08 93.39 99.11 100.26 101.31 104.60 100.05 95.55 91.32 89.02 85.18 91.99 0]';

T1=[88.30 94.30 91.17 88.98 90.99 90.40 93.69 92.72 93.00 93.31 93.14 96.95 87.45 92.52 100.39 100.35 104.58 104.81 100.69 93.67 88.44 88.35 81.07 85.44 ]';

PN=sim(net,P1) ;

x=1:1:24;

A1= poststd(PN,meanT,stdT);

figure,plot(x,T1,'r',x,A1,'b');

title('31日负荷预测与实际比较曲线,');

legend('实际负荷情况','预测负荷情况');

%计算仿真误差

E=T1-A1;

%计算误差平方和

SSE=sse(E);

figure,plot(x,E);

title('误差曲线');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值