完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
输出全是NaN,能不能来个懂的帮我修改一下
function main() clc clear all; close all; trainnum=100; testsamnum=1000; forcastnum=1180; hiddenunitnum=8;%%中间层隐节点数量(暂定) indim=3;%%网络输入维数 outdim=1;%%网络输出维数 %读入数据 data=load('g:1.txt'); data=data'; p=data(1:indim,1:trainnum); t=data(indim+1,1:trainnum); [trainin,minp,maxp,tn,mint,maxt]=premnmx(p,t); rand('state',sum(100*clock)); voisevar=0.01; voise=voisevar*rand(1,trainnum); trainout=voise+tn; testin=trainin; testout=trainout; maxepochs=50000; lr=0.035; e0=0.05*10^(-3); w1=0.05*rand(hiddenunitnum,indim)-0.1; b1=0.05*rand(hiddenunitnum,1)-0.1; w2=0.05*rand(outdim,hiddenunitnum)-0.1; b2=0.05*rand(outdim,1)-0.1; errhistory=[]; for i=1:maxepochs hiddenout=logsig(w1*trainin+repmat(b1,1,trainnum)); networkout=w2*hiddenout+repmat(b2,1,trainnum); error=trainout-networkout; sse=sumsqr(error); errhistory=[errhistory sse]; if sse delta2=error; delta1=w2'*delta2.*hiddenout.*(1-hiddenout); dw2=delta2*hiddenout'; db2=delta2*ones(trainnum,1); dw1=delta1*trainin'; db1=delta1*ones(trainnum,1); w2=w2+lr*dw2; b2=b2+lr*db2; w1=w1+lr*dw1; b1=b2+lr*db1; end hiddenout=logsig(w1*trainin+repmat(b1,1,testsamnum)); networkout=w2*hiddenout+repmat(b2,1,testsamnum); a=postmnmx(networkout,mint,maxt); x=1:500; newk=a(1,:); %figure; %plot(x,newk,'g',x,t,'*k'); pnew=load('g:2.txt'); pnew=[91;2;204.49]; pnewn=tramnmx(pnew,minp,maxp); hiddenout=logsig(w1*pnewn+repmat(b1,1,1)); anewn=w2*hiddenout+repmat(b2,1,1); anew=tramnmx(anewn,mint,maxt); fid=fopen('g:3.txt','wt'); fprintf(fid,'%gn',anew); fclose(fid); |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
1375 浏览 0 评论
1745 浏览 0 评论
4045 浏览 1 评论
17648 浏览 0 评论
5068 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-11 21:28 , Processed in 0.722089 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号