MATLAB-小波神经网络

上传人:206****923 文档编号:91849579 上传时间:2019-07-02 格式:DOC 页数:4 大小:15.02KB
返回 下载 相关 举报
MATLAB-小波神经网络_第1页
第1页 / 共4页
MATLAB-小波神经网络_第2页
第2页 / 共4页
MATLAB-小波神经网络_第3页
第3页 / 共4页
MATLAB-小波神经网络_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《MATLAB-小波神经网络》由会员分享,可在线阅读,更多相关《MATLAB-小波神经网络(4页珍藏版)》请在金锄头文库上搜索。

1、小波神经网络程序复制内容到剪贴板 代码:clcclear%step 1=%定义输入样本;t=0:0.01:1.5;x=-sin(2*pi*t);targ=0 0 1 1 0 0 ;eta=0.02;aerfa=0.935;%初始化连接权wjh(输出层和隐层的连接权);whi(隐层和输出层的连接权);%假设小波函数节点数为:H个;样本数为P;%输出节点数为:J个;输入节点数为:I个;H=15;P=2;I=length(t);J=length(targ);%初始化小波参数b=rand(H,1);a=rand(H,1);%初始化权系数;whi=rand(I,H);wjh=rand(H,J);%阈值初

2、始化;b1=rand(H,1);b2=rand(J,1);p=0;%保存的误差;Err_NetOut=;flag=1;count=0;while flag0flag=0;count=count+1;%step 2=xhp1=0;for h=1:Hfor i=1:Ixhp1=xhp1+whi(i,h)*x(i);endixhp(h)=xhp1+b1(h);xhp1=0;endfor h=1:Hoxhp(h)=fai(ixhp(h)-b(h)/a(h);end%step 3=i1=0;for j=1:Jfor h=1:Hi1=i1+wjh(h,j)*oxhp(h);endi(j)=i1+b2(j)

3、;i1=0;endfor i=1:Jo(i)=fnn(i(i);end%step 6=保存每次误差=wuchayy=1/2*sumsqr(o-targ);%E_x=1/2*sumsqr(x);Err_NetOut=Err_NetOut wuchayy;%保存每次的误差;%Err_rate=Err_NetOut/E_x;%Err_rate%o%求detaj ,detab2=for j=1:Jdetaj(j)=-(o(j)-targ(j)*o(j)*(1-o(j);endfor j=1:Jfor h=1:Hdetawjh(h,j)=eta*detaj(j)*oxhp(h);endenddetab2

4、=eta*detaj;%求detah, detawhi detab1 detab detaa;=sum=0;for h=1:Hfor j=1:Jsum=detaj(j)*wjh(h,j)*diffai(ixhp(h)-b(h)/a(h)/a(h)+sum;enddetah(h)=sum;sum=0;endfor h=1:Hfor i=1:Idetawhi(i,h)=eta*detah(h)*x(i);endenddetab1=eta*detah;detab=-eta*detah;for h=1:Hdetaa(h)=-eta*detah(h)*(ixhp(h)-b(h)/a(h);end%引入动

5、量因子aerfa,修正各个系数=wjh=wjh+(1+aerfa)*detawjh;whi=whi+(1+aerfa)*detawhi;a=a+(1+aerfa)*detaa;b=b+(1+aerfa)*detab;b1=b1+(1+aerfa)*detab1;b2=b2+(1+aerfa)*detab2;%=%引入修正算法!%判断所有的样本是否计算完=p=p+1;if p=Pflag=flag+1;elseif Err_NetOut(end)0.05flag=flag+1;elsefigure;plot(Err_NetOut);title(误差曲线);disp(目标达到);%disp(o);

6、 endendif count2000figure;plot(Err_NetOut);title(误差曲线);disp(目标未达到);disp(o);break;endend 这里还需要定义三个函数1. diffai.m 复制内容到剪贴板 代码:function y3=diffai(x); y3=-0.75*sin(1.75*x)*exp(-x.2/2)-cos(1.75*x)*exp(-x.2/2)*x; 2. fai.m 复制内容到剪贴板 代码:function yl=fai(x) yl=cos(0.75.*x)+exp(-x.2/2);3. fnn.m 复制内容到剪贴板 代码:function y2=fnn(x) y2=1/(1+exp(-x);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号