function [output,TestMAPE,TestR2]=delmpredictnew(delm,auto,P_test,T_test,hidden,TF) P=P_test; T=T_test; for u=1:numel(hidden) xx=predict(auto(u),P); P=xx; end % [Q]=size(P,2); BM=repmat(delm.elmae{3},1,Q); tempH=delm.elmae{2}*P+BM; switch TF case 'sig' H=1./(1+exp(-tempH)); case 'sin' H=sin(tempH); case 'hardlim' H=hardlim(tempH); end P=(H'*delm.elmae{1})'; % %去掉实际温度过低的点 qwel=P; qwem=T; ls=length(qwem); clear P; clear T; for ii=1:ls if(qwem(ls+1-ii)<0.1) qwem(ls+1-ii)=[]; qwel(ls+1-ii)=[]; end end P=qwel; T=qwem; clear qwel; clear qwem; qwel=P; qwem=T; ls=length(qwem); clear P; clear T; for ii=1:ls if(qwem(ls+1-ii)>0.7) qwem(ls+1-ii)=[]; qwel(ls+1-ii)=[]; end end P=qwel; T=qwem; clear qwel; clear qwem; L=size(T,2); TestMAPE=0; for uu=1:L TestMAPE=abs(P(uu)-T(uu))/T(uu)+TestMAPE; end TestMAPE=TestMAPE*100/L; TestR2=1-(sum((P-T).^2)/sum((T-mean(T)).^2)); output=P;