基于MATLAB的径向基网络源程序.docx

基于MATLAB的径向基网络源程序.docx

ID:59211930

大小:10.65 KB

页数:5页

时间:2020-09-10

基于MATLAB的径向基网络源程序.docx_第1页
基于MATLAB的径向基网络源程序.docx_第2页
基于MATLAB的径向基网络源程序.docx_第3页
基于MATLAB的径向基网络源程序.docx_第4页
基于MATLAB的径向基网络源程序.docx_第5页
资源描述:

《基于MATLAB的径向基网络源程序.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、%一维输入,一维输出,逼近效果很好!1.基于聚类的RBF网设计算法SamNum=100;%总样本数TestSamNum=101;%测试样本数InDim=1;%样本输入维数ClusterNum=10;%隐节点数,即聚类样本数Overlap=1.0;%隐节点重叠系数%根据目标函数获得样本输入输出rand('state',sum(100*clock))NoiseVar=0.1;Noise=NoiseVar*randn(1,SamNum);SamIn=8*rand(1,SamNum)-4;SamOutNoNoise=1.1*(1-SamIn+2*SamIn

2、.^2).*exp(-SamIn.^2/2);SamOut=SamOutNoNoise+Noise;TestSamIn=-4:0.08:4;TestSamOut=1.1*(1-TestSamIn+2*TestSamIn.^2).*exp(-TestSamIn.^2/2);figureholdongridplot(SamIn,SamOut,'k+')plot(TestSamIn,TestSamOut,'k--')xlabel('Inputx');ylabel('Outputy');Centers=SamIn(:,1:ClusterNum);Numbe

3、rInClusters=zeros(ClusterNum,1);%各类中的样本数,初始化为零IndexInClusters=zeros(ClusterNum,SamNum);%各类所含样本的索引号while1,NumberInClusters=zeros(ClusterNum,1);%各类中的样本数,初始化为零IndexInClusters=zeros(ClusterNum,SamNum);%各类所含样本的索引号%按最小距离原则对所有样本进行分类fori=1:SamNumAllDistance=dist(Centers',SamIn(:,i));[

4、MinDist,Pos]=min(AllDistance);NumberInClusters(Pos)=NumberInClusters(Pos)+1;IndexInClusters(Pos,NumberInClusters(Pos))=i;end%保存旧的聚类中心OldCenters=Centers;fori=1:ClusterNumIndex=IndexInClusters(i,1:NumberInClusters(i));Centers(:,i)=mean(SamIn(:,Index)')';end%判断新旧聚类中心是否一致,是则结束聚类Eq

5、ualNum=sum(sum(Centers==OldCenters));ifEqualNum==InDim*ClusterNum,break,endend%计算各隐节点的扩展常数(宽度)AllDistances=dist(Centers',Centers);%计算隐节点数据中心间的距离(矩阵)Maximum=max(max(AllDistances));%找出其中最大的一个距离fori=1:ClusterNum%将对角线上的0替换为较大的值AllDistances(i,i)=Maximum+1;endSpreads=Overlap*min(All

6、Distances)';%以隐节点间的最小距离作为扩展常数%计算各隐节点的输出权值Distance=dist(Centers',SamIn);%计算各样本输入离各数据中心的距离SpreadsMat=repmat(Spreads,1,SamNum);HiddenUnitOut=radbas(Distance./SpreadsMat);%计算隐节点输出阵HiddenUnitOutEx=[HiddenUnitOut'ones(SamNum,1)]';%考虑偏移W2Ex=SamOut*pinv(HiddenUnitOutEx);%求广义输出权值W2=W2E

7、x(:,1:ClusterNum);%输出权值B2=W2Ex(:,ClusterNum+1);%偏移%测试TestDistance=dist(Centers',TestSamIn);TestSpreadsMat=repmat(Spreads,1,TestSamNum);TestHiddenUnitOut=radbas(TestDistance./TestSpreadsMat);TestNNOut=W2*TestHiddenUnitOut+B2;plot(TestSamIn,TestNNOut,'k-')W2B22.基于梯度法的RBF网设计算法Sam

8、Num=100;%训练样本数TargetSamNum=101;%测试样本数InDim=1;%样本输入维数UnitNum=1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。