• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: 其他
  • 标签: 电价  预测  

资源简介

对电力负载的预测程序,excel文档放在e盘根目录,文档中为负载数据

资源截图

代码片段和文件信息

%小波分解与重构
num=xlsread(‘e:/book.xls‘);                     %读取数据
[mn]=size(num);
yiwei=zeros(1n*m);                               %矩阵转为一维数据
for i=0:1:m-1
    for j=1:1:n
        yiwei(1i*n+j)=num(i+1j);
    end
end
[cl]=wavedec(yiwei3‘db3‘);                    %小波分解
x=0:1:n*m-1;
[cd1cd2cd3]=detcoef(cl[123]);             %提取小波变换系数
ca3=appcoef(cl‘db3‘3);                       
a3=wrcoef(‘a‘cl‘db3‘0);                     %对小波系数进行单支重构,第三尺度低频分量
d3=wrcoef(‘d‘cl‘db3‘3);                     %第三尺度高频分量重构
d2=wrcoef(‘d‘cl‘db3‘2);                     %第二尺度低频分量重构
d1=wrcoef(‘d‘cl‘db3‘1);                     %第一尺度低频分量重构
x5=a3-yiwei;
figure;
plot(xyiwei);title(‘s‘);                       %原数据波形
figure
subplot(411);plot(xa3);title(‘ca3‘);           %低频分量a3图形
subplot(412);plot(xd3);title(‘cd3‘);
subplot(413);plot(xd2);title(‘cd2‘);
subplot(414);plot(xd1);title(‘cd1‘);
%对分量a3进行预测
ya3=zeros(mn);
for i=1:1:m
    for j=1:1:n
        ya3(ij)=a3(n*(i-1)+j);
    end
end
P=zeros(m-1n);
T=zeros(m-1n);
for i=1:1:m-1
    for j=1:1:n
        P(ij)=ya3(ij);
        T(ij)=ya3(i+1j);
    end
end
P=P‘;
T=T‘;
text=zeros(n1);
text=T(n:);
maxpa3=max(P);
maxpa3=max(maxpa3);
maxta3=max(T);
maxta3=max(maxta3);
minpa3=min(P);
minpa3=min(minpa3);
minta3=min(T);
minta3=min(minta3);
P(::)=(P(::)-minpa3)/(maxpa3-minpa3);
T(::)=(T(::)-minpa3)/(maxpa3-minpa3);
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];
net=newff(threshold[31 24]{‘tansig‘‘logsig‘}‘trainlm‘);
net.trainParam.epochs=100;
net.trainParam.goal=0.1;
LP.lr=0.1;
net=train(netPT);
P_test=[0.24293;0.2899;0.3356;0.26773;0.3604;0.20649;0.73915;0.58158;0.5967;0.73669;0.70645;0.7637;0.64427;0.36252;0.74263;0.5403;0.62507;0.5206;0.75597;0.88465;0.86427;0.35947;0.42742;0.44755];
Outa3=sim(netP_test);
Outa3=Outa3*(maxpa3-minpa3)+minpa3;
%对分量d3预测
yd3=zeros(mn);
for i=1:1:m
    for j=1:1:n
        yd3(ij)=d3(n*(i-1)+j);
    end
end
P=zeros(m-1n);
T=zeros(m-1n);
for i=1:1:m-1
    for j=1:1:n
        P(ij)=yd3(ij);
        T(ij)=yd3(i+1j);
    end
end
P=P‘;
T=T‘;
maxpd3=max(P);
maxpd3=max(maxpd3);
maxtd3=max(T);
maxtd3=max(maxtd3);
minpd3=min(P);
minpd3=min(minpd3);
mintd3=min(T);
mintd3=min(mintd3);
P(::)=(P(::)-minpd3)/(maxpd3-minpd3);
T(::)=(T(::)-minpd3)/(maxpd3-minpd3);
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];
net=newff(threshold[31 24]{‘tansig‘‘logsig‘}‘trainlm‘);
net.trainParam.epochs=100;
net.trainParam.goal=0.1;
LP.lr=0.1;
net=train(netPT);
P_test=[0.16426;0.30967;0.39371;0.52138;0.569;0.59652;0.67216;0.75038;0.712;0.63031;0.55671;0.4539;0.41601;0.39293;0.33688;0.28061;0.36654;0.50939;0.64563;0.82077;0.71163;0.49907;0.33898;0.12267];
Outd3=sim(netP_test);
Outd3=Outd3*(maxpd3-minpd3)+minpd3;
%%%%%%
yd2=zeros(mn);
for i=1:1:m
    for j=

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      17920  2010-06-09 15:35  book.xls

     文件       5266  2010-05-16 15:02  yucexiaobo.m

----------- ---------  ---------- -----  ----

                23186                    2


评论

共有 条评论