?? bppfault.m
字號:
% 在MATLAB6.5下編程
tic, % 開始計時
[P,T,R,S1,S2,S,meanp,stdp,meant,stdt]=nninit; % BP網(wǎng)絡初始化
% 生成BP網(wǎng)絡
net = newff(minmax(P),[S1 S2],{'tansig' 'purelin'},'trainlm');
% BP網(wǎng)絡訓練的參數(shù)設置
net.trainParam.epochs =20000;
net.trainParam.goal = 0.0001;
net.trainParam.lr = 0.001;
% 開始訓練
net = train(net,P,T);
% 仿真結果
TT=sim(net,P)
E=sum((T-TT).^2)./10;
E=sqrt(E)
e1=(T-TT)./T
c=poststd(TT,meant,stdt)
toc % 結束計時
%前面的網(wǎng)絡訓練過程可以是腳本文件運行
%后面的待預測的數(shù)據(jù)必須每次從命令窗口輸入才是每次得到同一的預測結果 只有這樣才是每次利用前面已經(jīng)訓練好的網(wǎng)絡
%檢驗數(shù)據(jù):
%##########################################
%xk1=input(' please input .....xk==')
%pnew=xk1';
%pnew=trastd(pnew,meanp,stdp);%將數(shù)據(jù)通過自標準化再用來輸入網(wǎng)絡
%an=sim(net,pnew);%網(wǎng)絡模擬出來的值
%anew=poststd(an,meant,stdt)%模擬出的值再線性返回樣本預測值
%tk1=input(' please input .....tk==')
%e2=(tk1-anew)./tk1
%xk2=input(' please input .....xk==')
%data
data2
pnew=xk';
pnew=trastd(pnew,meanp,stdp);%將數(shù)據(jù)通過自標準化再用來輸入網(wǎng)絡
an=sim(net,pnew);%網(wǎng)絡模擬出來的值
anew=poststd(an,meant,stdt)%模擬出的值再線性返回樣本預測值
%tk2=input(' please input .....tk==')
tk=tk'
e2=(tk-anew)./tk
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -