已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附录A MATLAB程序A.1 第三章程序1.D-FNN程序Function w1, w2, width, rule, e, RMSN = DFNN (p, t, parameters)%This is D-FNN training program.%Input:% p is the input data, which is r by q matrix% r is the No. of input% t is the output data, which is s2 by q matrix% q is the No. of sample data.% parameters is a vector which defines the predefined parameters% parameters(1)= kdmax (max of accommodation criterion)% parameters(2)= kdmin (min of accommodation criterion)% parameters(3)= gama (decay constant)% parameters(4)= emax (max of output error)% parameters(5)= emin (min of output error)% parameters(6)= beta (convergence constant)% parameters(7)=width0 (the width of the first rule)% parameters(8)= k (overlap factor of RBF units)% parameters(9)= kw (width updating factor)% parameters(10)=kerr (significance of a rule)%Output:% w1 is the centers of the RBF units , which is a u by r matrix% w2 is the weights, which is s2 by u(1+r) matrix% width is the widths of RBF units, which is a 1 by u matrix%Revised 11-3-2006%Copyright Wu shiqian.If narginkd If e(i)ke CRBF=CRBF IN; % Add a new rule Wb=k*d; Width=width wb; W1=CRBF; u,v=size(w1); % caculating outputs of RBF after growing for all data A=RBF(dist(w1,ALLIN),/width); A0=sum(A); A1=A./(ones(u,l)*A0); A2=transf(A1,ALLIN); If u*(r+1)=N % caculating error reduction rate tT=ALLOUT PAT=A2; W,AW=orthogonolize(PAT); SSW=sum(W.*W);SStT=sum(tT.*tT); Err=(W*tT).2)./(SStT*SSW0;errT=err; Errl=zeros(u,s2*(r+1); Errl(:)=errT; err21=err1; Err22=sum(err21.*err21)/(s2*(r+1); err23=sqrt(err21.*err21)/(s2*(r+1); err23=sqrt(err22); No=find(err23ke width(ind)=kw*width(ind); aa=RBF(dist(wl,ALLIN),l./width); aa0=sum(aa);aal=aa./(ones(s,l)*aa0); aa2=transf(aal,ALLIN); w2=ALLOUT/aa2; outaa2=w2*aa2; sse2=sumspr(ALLOUT_outaa2)/(i*s2); RMSE(i)=sqrt(sse2); rule(i)=selse aal=RBF(dist(wl,ALLIN),l./width); aa01=sum(aal);aall=aal./(ones(s,l)*aa0l); aa21=tranf(aall,ALLIN); w2=ALLOUT/aa21: outaa21=w2*aa21; sse3=sumsqr(ALLOUT_outaa21)/(s2*i); RMSE(i)=sqrt(sse3); rule(i)=s end endend 2 几个用于D_FNN的子程序orthogonalize程序functionw,a= orthogonalize(p)% This program is used transform pinto orthogonalized w% Revised 11-3-2006% Copyright Wu Shiqian.u,v=size(p);w(:,l)=p(:,k);a=eye(v);for k=2:v b=zeros(u,l); for i=l:k-1a(i,k)=w(:,i)*p(:,k)/(w(:,i)*w(;,i);b=b+a(i,k)*w(:,i); end w(:,k)=p(:,k)-bend2) RBF程序Function a = RBF(d,w)% This program is used to calculate the RBF units% Input:% d is the distance matrix% w is the width matrix% Output:% a is the output of RBF units % Revised 11-3-2006% Copyright Wu Shiqianif nargin=0 ekfmax=ckf(i);endd,ind=min(dist(CRBF,IN);kd=max(kdmax*gama(i-1),kdmin); if dkdke=max(emax*beta(i-1),emin);if ekf(i)ke%generate new neuron CRBF=CRBF;IN; width=width k*d; u,v=size(CRBF); if u*(r+1)=N RBFOUT2=RBF(dist(CRBF,ALLIN),1./width); pa2=RBFOUT2./(ones(u,1)*sum(RBFOUT2); pTSK2=transf(pa2,ALLIN); W,A=orthogonalize(pTSK2); SSW=sum(W.*W); SStT=sum(ALLOUT.*ALLOUT); err=(W*ALLOUT).2)./(SStT*SSW); err1=zeros(u,s2*(r+1);err1(:)=err;err2=sqrt(sum(err1.*err1)/(s2*(r+1);No=find(err2=0 eemax=e(i);endke=max(emax*beta.(i-1),emin);if dkdif e(i)ke CRBF=CRBF IN;wb=k*d;width=width wb;w1=CRBF;u,v=size(w1);A=RBF(dist(w1,ALLIN),1./width);A0=sum(A);A1=A./(ones(u,1)*A0);A2=transf(A1,ALLIN);if u*(r+1)=N tT=ALLOUT;PAT=A2;W,AW=orthogonalize(PAT);SSW=sum(W.*W);SStT=sum(tT.*tT);err=(W*Tt).2)./(SStT*SSW);errT=err; err1=zeros(u,s2*(r+1);err1(:)=errT;err21=err1;err22=sum(err21.*err21)/(s2*(r+1);err23=sqrt(err22);No=find(err23ke width(ind)=kw*width(ind); a=RBF(dist(w1,ALLIN),1./width); aa0=sum(aa);aal=aa./(ones(s,l)*aa0); aa2=transf(aal,ALLIN); w2=ALLOUT/aa2; outaa2=w2*aa2;sse2=sumsqr(ALLOUT-outaa2)/(i*s2);rmse2=sqrt(sse2);tr(i)=rmsel; neutr(i)=s; elseaa1=RBF(dist(w1,ALLIN),1./width);aa01=sun(aa1);aall=aal./(one(s,1)*aa01);aa21=transf(aall,ALLIN); W2=ALLOUT/aa21; outaa21=w2*aa21; Sse3=sumsqr(ALLOUT-outaa21)/(i*s2);198 rmse3=sqrt(sse3);tr(i)=rmse3; neutr(i)=s;endend end LSEtime=etime(clock,t0); % %LLS-Kalman Filter Algorithm % T0=clock;ALLIN=;ALLOUT=; %For the fist rule CRBF=p(:,1);alter=1;width=;width(1)=2; aa=200; bb=0.001; for i=1:q data=i ds(i)=i; IN=p(:,i); OUT=t(:,); ALLIN=ALLIN IN;ALLOUT=ALLOUT OUT; r,N=size(ALLIN); u,r=size(CRBF); RBFOUT=RBF(dist(CRBF,ALLIN),1./width); pa=RBFOU./(ones(u,1)*sum(RBFOUT); Ptsk=transf(pa,ALLIN); if alter=1 WEGHT=bb*ones(u*(r+1),1); Si=aa*eye(u*(r+1); for iter=1:i Si=Si-(Si*pTSK(:iter)*pTSK(:iter)*Si/(1+pTSK(:,iter)*Si*pTSK(:,iter);WEIGHT=WEIGHT+Si*pTSK(:,iter)*(ALLOUT(:,iter)-pTSK(:,iter)*WEIGHT; end alter=0;else Si=Si-(Si*pTSK(:i)*pTSK(:i)*Si/(1+pTSK(:,i)*Si*pTSK(:,i);WEIGHT=WEIGHT+Si*pTSK(:,i)*(ALLOUT(:,i)-pTSK(:,i)*WEIGHT;endALLESTOUT=WEIGHT*Ptsk;rmse(i)=sqrt(sumsqr(ALLOUT-ALLESTOUT)(i*s2);neuron(i)=u;%for computation of per set errortRBFOUT1=RBF(dist(CRBF,IN),1./width);Pa1=RBFOUT1/sum(RBFOUT1);pTSK=transf(pa1,IN); %convert to TSK modelACTOUT=WEIGHT*pTSK;ae(i)=sqrt(sumsqt(OUT-ACTOUT)/s2);z1=ae(i)-aemax;if z1=0 aemax=ae(i); endd,ind=min(dist(CRBF,IN);Kd=max(kdmax*gama(i-1),kdmin);if dkdke=max(emax*beta(i-1),emin);if ae(i)ke %generate new neuron CRBF=CRBF;IN;width=width*d;u,v=size(CRBT);if u*(r+1)=N RBFOUT2=RBF(dist(CRBF,ALLIN),1./width); pa2=RBFOUT2./(ones(u,1)*sum(RBFOUT2); pTSK2=transf(pa2,ALLIN); W,A=orthogonalize(pTSK2); SSW=sum(w. * w); SStT=sum(ALLOUT.*ALLOUT) err=(W * ALLOUT).2)./(SStT * SSW) err1=zeros(u,s2 8 (r+1);errl( : )=err; err2=sqrt(sum(err1. * err1)/9s2 * (r+1); No=find(err2ke width(ind)=kw*width(ind);alter=1;endendlsekmtime=etime(clock,t0);meanerr=mean(e);meanae=mean(ae);meanekf=mean(ekf);figure,plot(ds,neutr,r,ds,neuron,ro,ds,nekf,r+);title(Fuzzy rule generation);xlabel(Sample patterns);figure,plot(ds,e,r,ds,ae,ro,ds,ekf,r+);title(Actual Output Error);xlabel(Sample patterns);figure,plot(ds,tr,r,ds,rmse,ro,ds,rmsekf,r+);title(Root mean squared error);xlabel(Sample patterns); 3 第5章程序 1.Hermite 函数逼近 % Static function approximation by D-FNN % The underlying function is Hermite function shown in chapter 5 % Revised 11-3-2006 %Copyright Wu Shiqian clc clear, close all rand(seed,5); p=rand(1,200)*8-4; t=1.1*(1-p+2*p.2).*exp(-p.2./2); r,q=size(p);s2,q=size(t); % Setting initial values kdmax=2; kdmin=0.2; gama=0.977;beta=0.9;width0=2; emax=1.1;emin=0.02;k=1.1;kerr=0.0015; parameters(1)=kdmax;parameters(2)=kdmin;parameters(3)=gama; parameters(4)=emax;parameters(5)=emin;parameters(6)=beta; parameters(7)=width0;parameters(8)=k;parameters(9)=kw; parameters(10)=kerr; wl,w2,width,rule,e,RMSE=DFNN(p,t,parameters); TA=RBF(dist(wl,p),1./width); TA0=sum(TA);u,v=size(wl); TA1=TA./(ones(u,1)*TA0); TA2=transf(TA1,p); outTA2=w2*TA2; figure,plot(e,r); title(Actual output error); xlabel(Input sample patterns); figure,plot(RMSE,r); title(Root mean squared error (RMSE); xlabel(Input sample patterns); figure,plot(p,t,r+,p,outTA2,bo); title(Desired and actual outputs); xlabel(Input data); 2.非线性动态系统的辨识 % Nonlinear Dynamic System Identification in chapter 5 by D-FNN % Revised 11-3-2006 % Copyright Wu Shiqian. clc, clear,close all y=zeros(1,200);y(2)=1;a=sin(2*pi/25); p(:,1)=1;0;a;t(1)=sin(2*pi*2/25); for k=3:200 y(k+1)=(y(k)*y(k-1)*(y(k)+2.5)./(1+y(k).2+y(k-1).2)+sin(2*pi*k/25); x1(k-1)=y(k); x2(k-1)=y(k-1) x3(k-1)=sin(2*pi*k./25); p=x1;x2;x3; t(k-1)=y(k+1); end % Setting initial values kdmax=4;kdmin=0.2gama=0.97;beta=0.9;width0=2;emax=1; emin=0.02;k=1.1;kw=1.1;kerr=0.002; parameters(1)=kdmax;parameters(2)=kdmin;parameters(3)=gama; parameters(4)=emax;parameters(5)=emin;parameters(6)=beta; parameters(7)=width0;parameters(8)=k;parameters(9)=kw; parameters(10)=kerr; wl,w2,width,rule,e,RMSE=DFNN(p,t,parameters); TA=RBF(dist(wl,p),1./width); TA0=sum(TA);u,v=size(wl); TA1=TA./(ones(u,1)*TA0); TA2=transf(TA1,p); outTA2=w2*TA2; figure,plot(rule,r); title(Fuzzy rule eneration); xlabel(Input sample patterns); figure,plot(e,r); title(Actual output error); xlabel(Input sample patterns); figure,plot(RMSE,r); title(Root mean squared error (RMSE); xlabel(Input sample patterns); figure; k=1:199; plot(k,t,r-loutTA2,ro); title(Comparison between desired and actual outputs); xlabel(Time t); 3.Mackey-Glass 时间序列预测 % Mackey-Glass time-series prediction in chapter 5 by D-FNN % Revised 11-3-2006 % Copyright Wu Shiqian. clc, clear,clo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 继电器制造工安全实践评优考核试卷含答案
- 《JBT 5972-1992 真空刮膜转鼓蒸发器》(2026年)实施指南
- 维纶热处理操作工岗前安全知识竞赛考核试卷含答案
- 《JBT 5883.2-1991 电控设备图样及技术文件 图样的基本要求》(2026年)实施指南
- 《JBT 5604-1991 轧辊磨床 系列型谱》(2026年)实施指南
- 水盆工安全演练水平考核试卷含答案
- 2025年生物资格考试试题及答案
- 稀土磁性材料成型工改进竞赛考核试卷含答案
- 公司磁浆制备工岗位职业健康、安全、环保技术规程
- 公司陶瓷工艺品雕塑师职业健康及安全技术规程
- 国企的笔试题库及答案
- DB23-T 727-2025 用水定额用水定额
- 隐私协议书模板
- 【MOOC】美术鉴赏-河南理工大学 中国大学慕课MOOC答案
- 全国中学生英语能力竞赛(NEPCS)高一组决赛(含答案和听力)
- 2023年陕西金融资产管理股份有限公司招聘笔试题库及答案解析
- 生活中的小创意课件
- 恩诺沙星缓释注射液的研制及在猪体内的药动学研究幻灯片
- 合同履行情况(自查)检查记录表
- 人教版高中英语全部单词表(常用)
- 《现代汉语修辞》PPT课件(完整版)
评论
0/150
提交评论