s23uan.m
来自「本程序时基于混沌理论和ELMAN神经网络的短期负荷预测」· M 代码 · 共 44 行
M
44 行
clear ;
clear all;
load s23b
load s23t
% rand('state',0);
% net=newrb;
% [net,tr]=newrb(P,T,0,1,51,1);
% net=newgrnn(P,T,3);
%规定输入向量的最大值和最小值
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;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;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;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];
% % % %确定传递函数及训练函数
net=newff(threshold,[180,96],{'tansig','logsig','trainlm'});%trainlm-Levenberg-Marquardt BP 训练函数
net=init(net);
net.trainParam.epochs=500;
net.trainParam.goal = 0.01; % 最小均方误差
net.trainParam.min_grad = 1e-22; % 最小梯度
net.trainParam.show = 200; % 训练显示间隔
net.trainParam.time = inf; % 最大训练时间
% lp.mc=0.8;
LP.lr=0.01;
net=train(net,P,T);
% net=train(net,P,T);
P_testt=[358.64 359.45 353.92 338.87 335.37 351.28 348.99 334.5 327.18 313.65 318.92 320.67 317.64 307.68 285.32 294.29 300.1 307.23 301.61 300.14 302.21 288.1 278.65 286.31 296.17 310.55 304.83 304.35 300 302.22 296.14 282.1 284.1 314.77 351.51 351.25 367.39 369.44 370.76 389.34 393.68 395.4 394.81 396.43 412.3 419.68 428.97 421.29 421.48 407.18 413.27 391.29 394.11 406.59 411.79 422.45 413.41 421.8 415.39 422.28 428.52 427.74 412.57 388.46 362.03 388.34 387.1 387.04 399.07 399.36 407.19 414.08 407.47 414.95 414.61 412.27 405.04 418.19 432.33 456.56 486.78 492.4 495.14 491.9 493.41 497.78 503.11 492.42 490.64 486 480.75 470.03 459.82 446.31 434.13 404.32];
P_test1=(P_testt-150)/600;
P_test=[P_test1 0.12 0.15]';
Out=sim(net,P_test) ;
%t_test=[0.4392];
%y=Out-t_test;
disp ('相对误差:(单位:%)')
%e=y/t_test*100;
f=600*Out+150
% x=[345.74 344 340.34 338 331.45 342 342 337.14 335.33 330.34 331 340.13 325.49 333.1 326.09 314.68 307.96 322.05 320.4 313 311.38 318.36 319.99 328.69 346.05 360.88 369.21 352.09 350 357.45 358.63 344.18 357.13 391.92 409.78 441.21 450.36 461.81 479.76 479.97 482.84 487.84 489.72 491.81 506.67 502.59 511.39 512.87 483.77 466.54 471.02 462.28 446.16 468.16 464.08 467.81 449.72 469.55 478.77 474.28 489.17 501.09 500.71 475 481.55 462.61 476.51 508.44 496.89 505.42 522.58 516.02 521.35 510.91 491.3 488.45 489.77 479.77 497.98 526.56 561.12 578.81 585.63 586.23 598.21 582.88 585.59 580.72 566.12 550.47 563.28 549.69 519.97 498 497.12 437.47];
% plot(1:96,(f-x)*100/x)
% y=(f-x)*100/x
% W=net.iw{1};%输入层的加权矩阵
%Q=net.iw{1,1};%为第隐层的加权矩阵
%S=net.b{1};
%C=net.b{1,1};
%save('tt2','W','Q','S','C')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?