• slkfjas
    了解作者
  • matlab
    开发工具
  • 40KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 6
    下载次数
  • 2020-02-20 19:44
    上传日期
可以利用该程序进行电力预测,是神经网络算法
神经网络预测.rar
  • 数据汇总表1.xlsx
    41.5KB
  • sjwl1wrq.m
    6.9KB
内容介绍
setdemorandstream(3); clc; clear; %year year=xlsread('数据汇总表.xlsx','sheet1','A2:A96'); %训练集 x1=xlsread('数据汇总表1.xlsx','sheet1','B2:B84');%前3年的总用电量 x12=xlsread('数据汇总表1.xlsx','sheet1','C2:C84');%2 x13=xlsread('数据汇总表1.xlsx','sheet1','D2:D84'); x14=xlsread('数据汇总表1.xlsx','sheet1','AJ2:AJ84'); x2=xlsread('数据汇总表1.xlsx','sheet1','E2:E84');%前3年的工业用电 x22=xlsread('数据汇总表1.xlsx','sheet1','F2:F84'); x23=xlsread('数据汇总表1.xlsx','sheet1','G2:G84'); x3=xlsread('数据汇总表1.xlsx','sheet1','H2:H84');%前3年的居民用电 x32=xlsread('数据汇总表1.xlsx','sheet1','I2:I84'); x33=xlsread('数据汇总表1.xlsx','sheet1','G2:G84'); x4=xlsread('数据汇总表1.xlsx','sheet1','K2:K84');%前3年其他用电 x42=xlsread('数据汇总表1.xlsx','sheet1','L2:L84'); x43=xlsread('数据汇总表1.xlsx','sheet1','M2:M84'); %%%%%%%%%%%%%%%%%%%%%%%输入影响因素%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% x5=xlsread('数据汇总表1.xlsx','sheet1','N2:N85');%3年均气温 x52=xlsread('数据汇总表1.xlsx','sheet1','O2:O85'); x53=xlsread('数据汇总表1.xlsx','sheet1','P2:P85'); x6=xlsread('数据汇总表1.xlsx','sheet1','Q2:Q85');%3年的最高气温 x62=xlsread('数据汇总表1.xlsx','sheet1','R2:R85'); x63=xlsread('数据汇总表1.xlsx','sheet1','S2:S85'); x7=xlsread('数据汇总表1.xlsx','sheet1','T2:T85');%3年的最低气温 x72=xlsread('数据汇总表1.xlsx','sheet1','U2:U85'); x73=xlsread('数据汇总表1.xlsx','sheet1','V2:V85'); x8=xlsread('数据汇总表1.xlsx','sheet1','W2:W85');%3年的降雨量 x82=xlsread('数据汇总表1.xlsx','sheet1','X2:X85'); x83=xlsread('数据汇总表1.xlsx','sheet1','Y2:Y85'); x9=xlsread('数据汇总表1.xlsx','sheet1','Z2:Z85');%3年GDP指数 x92=xlsread('数据汇总表1.xlsx','sheet1','AA2:AA85'); x93=xlsread('数据汇总表1.xlsx','sheet1','AB2:AB85'); x10=xlsread('数据汇总表1.xlsx','sheet1','AC2:AC85'); %用户数 x102=xlsread('数据汇总表1.xlsx','sheet1','AD2:AD85'); x103=xlsread('数据汇总表1.xlsx','sheet1','AE2:AE85'); x11=xlsread('数据汇总表1.xlsx','sheet1','AF2:AF85'); %装机容量 x112=xlsread('数据汇总表1.xlsx','sheet1','AG2:AG85'); x113=xlsread('数据汇总表1.xlsx','sheet1','AH2:AH85'); x1_1=[3,x1']; x12_1=[3,x12']; x13_1=[3,x13']; x14_1=[3,x14']; x2_1=[2.25,x2']; x22_1=[2.25,x22']; x23_1=[2.25,x23']; x3_1=[0.87,x3']; x32_1=[0.87,x32']; x33_1=[0.87,x33']; x4_1=[3,x4']; x42_1=[3,x42']; x43_1=[3,x43']; % x=[x1_1;x5';x6';x7';x8';x9';x10';x11'];%输入向量 % x=[x1_1;x5';x6';x7';x8';x9';x10';];%输入 x=[x12_1;x13_1;x14_1;x2_1;x22_1;x23_1;x3_1;x32_1;x33_1;x5';x52';x53';x6';x62';x63';x7';x72';x73';x8';x82';x83';x9';x92';x93';x10';x102';x103';x11';x112';x113'];%输入向量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% y=xlsread('数据汇总表1.xlsx','sheet1','B2:B85'); %历史总负荷数据做输出 y=y';%输出向量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% net=newff(x,y,[8,13,1],{'tansig','tansig','purelin'},'trainlm'); %创建网络 隐含层设置在3~13之间。N=sqr(n+m)+a,a在[1,10]之间; % net=newff(x,y,[7,12,1],{'tansig','tansig','purelin'},'trainlm'); net.trainParam.epochs=1000; %迭代次数 训练次数 net.trainParam.goal=1;%期望误差 net.trainParam.max_fail=200; %失败次数 net.trainParam.lr=0.2;%学习速率 net=train(net,x,y);%训练网络 % figure(3) % plotperform(tr); % hold on; % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%测试集 xx1=xlsread('数据汇总表1.xlsx','sheet1','B2:B95');%前3年的总用电量 xx12=xlsread('数据汇总表1.xlsx','sheet1','C2:C95');%2 xx13=xlsread('数据汇总表1.xlsx','sheet1','D2:D95'); xx14=xlsread('数据汇总表1.xlsx','sheet1','AJ2:AJ95'); xx2=xlsread('数据汇总表1.xlsx','sheet1','E2:E95');%前3年的工业用电 xx22=xlsread('数据汇总表1.xlsx','sheet1','F2:F95'); xx23=xlsread('数据汇总表1.xlsx','sheet1','G2:G95'); xx3=xlsread('数据汇总表1.xlsx','sheet1','H2:H95');%前3年的居民用电 xx32=xlsread('数据汇总表1.xlsx','sheet1','I2:I95'); xx33=xlsread('数据汇总表1.xlsx','sheet1','G2:G95'); xx4=xlsread('数据汇总表1.xlsx','sheet1','K2:K95');%前3年其他用电 xx42=xlsread('数据汇总表1.xlsx','sheet1','L2:L95'); xx43=xlsread('数据汇总表1.xlsx','sheet1','M2:M95'); xx5=xlsread('数据汇总表1.xlsx','sheet1','N2:N96');%3年均气温 xx52=xlsread('数据汇总表1.xlsx','sheet1','O2:O96'); xx53=xlsread('数据汇总表1.xlsx','sheet1','P2:P96'); xx6=xlsread('数据汇总表1.xlsx','sheet1','Q2:Q96');%3年的最高气温 xx62=xlsread('数据汇总表1.xlsx','sheet1','R2:R96'); xx63=xlsread('数据汇总表1.xlsx','sheet1','S2:S96'); xx7=xlsread('数据汇总表1.xlsx','sheet1','T2:T96');%3年的最低气温 xx72=xlsread('数据汇总表1.xlsx','sheet1','U2:U96'); xx73=xlsread('数据汇总表1.xlsx','sheet1','V2:V96'); xx8=xlsread('数据汇总表1.xlsx','sheet1','W2:W96');%3年的降雨量 xx82=xlsread('数据汇总表1.xlsx','sheet1','X2:X96'); xx83=xlsread('数据汇总表1.xlsx','sheet1','Y2:Y96'); xx9=xlsread('数据汇总表1.xlsx','sheet1','Z2:Z96');%3年GDP指数 xx92=xlsread('数据汇总表1.xlsx','sheet1','AA2:AA96'); xx93=xlsread('数据汇总表1.xlsx','sheet1','AB2:AB96'); xx10=xlsread('数据汇总表1.xlsx','sheet1','AC2:AC96'); %用户数 xx102=xlsread('数据汇总表1.xlsx','sheet1','AD2:AD96'); xx103=xlsread('数据汇总表1.xlsx','sheet1','AE2:AE96'); xx11=xlsread('数据汇总表1.xlsx','sheet1','AF2:AF96'); %装机容量 xx112=xlsread('数据汇总表1.xlsx','sheet1','AG2:AG96'); xx113=xlsread('数据汇总表1.xlsx','sheet1','AH2:AH96'); % xx1_1=xx1'; % xx2_1=xx2'; % xx3_1=xx3'; % xx4_1=xx4'; xx1_1=[3,xx1']; xx12_1=[3,xx12']; xx13_1=[3,xx13']; xx14_1=[3,xx14']; xx2_1=[2.25,xx2']; xx22_1=[2.25,xx22']; xx23_1=[2.25,xx23']; xx3_1=[0.87,xx3']; xx32_1=[0.87,xx32']; xx33_1=[0.87,xx33']; xx4_1=[3,xx4']; xx42_1=[3,xx42']; xx43_1=[3,xx43']; % xx=[xx1_1;xx5';xx6';xx7';xx8';xx9';xx10'];%输入向量 xx=[xx12_1;xx13_1;xx14_1;xx2_1;xx22_1;xx23_1;xx3_1;xx32_1;xx33_1;xx5';xx52';xx53';xx6';xx62';xx63';xx7';xx72';xx73';xx8';xx82';xx83';xx9';xx92';xx93';xx10';xx102';xx103';xx11';xx112';xx113']; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% yy=xlsread('数据汇总表1.xlsx','sheet1','B2:B96'); %历史总负荷数据做对比输出 yy=yy';%输出向量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ty=sim(net,xx);%使用网络进行仿真,ty是神经网络计算的结果 ty1=ty'; disp('预测出2013年到2017年的用电负荷是:') ty1 plot(year,ty1,'--') hold on plot(year,yy,''); xlabel('年份');ylabel('电力负荷/Gwh');%坐标轴表示对象标签 legend('负荷预测曲线','历史负荷曲线'); hold on; disp('arma预测出2013年到2017年的用电负荷是:') % % net=newff(x,y,[8,13,1],{'tansig','tansig','purelin'},'trainlm'); %创建网络 隐含层设置在3~13之间。N=sqr(n+m)+a,a在[1,10]之间; % % net=newff(x,y,[7,12,1],{'tansig','tansig','purelin'},'trainlm'); % net.trainParam.epochs=1000; %迭代次数 训练次数 % net.trainParam.goal=1;%期望误差 % net.trainParam.max_fail=200; %失败次数 % net.trainParam.lr=0.2;%学习速率 % net=train(net,x,y);%训练网络 % figure(2) % % plotperform(tr); % % hold on; % % ty=sim(net,xx);%使用网络进行仿真,ty是神经网络计算的结果 % ty2=ty' % plot(year,ty2,'--') % hold on;
评论
    相关推荐