資源簡介
Elman神經網絡的數據預測—電力負荷預測模型研究的matlab程序

代碼片段和文件信息
%%??案例18:?基于Elman神經網絡的電力負荷預測模型研究
%?
%?
%?
%? 該案例作者申明: 1:本人長期駐扎在此板塊里,對該案例提問,做到有問必答。 2:此案例有配套的教學視頻,配套的完整可運行Matlab程序。 3:以下內容為該案例的部分內容(約占該案例完整內容的1/10)。 4:此案例為原創案例,轉載請注明出處(Matlab中文論壇,《Matlab神經網絡30個案例分析》)。 5:若此案例碰巧與您的研究有關聯,我們歡迎您提意見,要求等,我們考慮后可以加在案例里。 6:您看到的以下內容為初稿,書籍的實際內容可能有少許出入,以書籍實際發行內容為準。 7:此書其他常見問題、預定方式等,請點擊這里。
%?
%?
%%?清空環境變量
clc;
clear?all
close?all
nntwarn?off;
%%?數據載入
load?data;
a=data;
%%?選取訓練數據和測試數據
for?i=1:6
????p(i:)=[a(i:)a(i+1:)a(i+2:)];
end
%?訓練數據輸入
p_train=p(1:5:);
%?訓練數據輸出
t_train=a(4:8:);
%?測試數據輸入
p_test=p(6:);
%?測試數據輸出
t_test=a(9:);
%?為適應網絡結構?做轉置
p_train=p_train‘;
t_train=t_train‘;
p_test=p_test‘;
%%?網絡的建立和訓練
%?利用循環,設置不同的隱藏層神經元個數
nn=[7?11?14?18];
for?i=1:4
????threshold=[0?1;0?1;0?1;0?1;0?1;0?1;0?1;0?1;0?1];
????%?建立Elman神經網絡?隱藏層為nn(i)個神經元
????net=newelm(threshold[nn(i)3]{‘tansig‘‘purelin‘});
????%?設置網絡訓練參數
????net.trainparam.epochs=1000;
????net.trainparam.show=20;
????%?初始化網絡
????net=init(net);
????%?Elman網絡訓練
????net=train(netp_traint_train);
????%?預測數據
????y=sim(netp_test);
????%?計算誤差
????error(i:)=y‘-t_test;
end
%%?通過作圖?觀察不同隱藏層神經元個數時,網絡的預測效果
plot(1:1:3error(1:)‘-ro‘‘linewidth‘2);
hold?on;
plot(1:1:3error(2:)‘b:x‘‘linewidth‘2);
hold?on;
plot(1:1:3error(3:)‘k-.s‘‘linewidth‘2);
hold?on;
plot(1:1:3error(4:)‘c--d‘‘linewidth‘2);
title(‘Elman預測誤差圖‘)
set(gca‘Xtick‘[1:3])
legend(‘7‘‘11‘‘14‘‘18‘‘location‘‘best‘)
xlabel(‘時間點‘)
ylabel(‘誤差‘)
hold?off;
web?browser?http://www.ilovematlab.cn/viewthread.php?tid=63640
%%
%
%?
%? 版權所有:%?href=“http://www.ilovematlab.cn/“>Matlab中文論壇 ?ript
%?src=“http://s3.cnzz.com/stat.php?id=971931&web_id=971931&show=pic“?language=“javascript“?> ript>
%?
%
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????3344??2010-01-31?11:15??案例18?Elman神經網絡的數據預測—電力負荷預測模型研究\chapter18.m
?????文件?????????406??2009-10-25?16:29??案例18?Elman神經網絡的數據預測—電力負荷預測模型研究\data.mat
評論
共有 條評論