資源簡介
對電力負載的預測程序,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
評論
共有 條評論