mainpartsample.m

来自「ART2网络的MATLAB程序」· M 代码 · 共 62 行

M
62
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                      一个调用的例子
%           2007年3月  长沙理工大学电气与信息工程学院  陈众 Email: chenzhong74@126.com
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%**************************************************************************
%       输入向量准备,1/4圆周上的四个向量
%**************************************************************************
N=4;
xita=0:pi/2/N:pi/2
X=[cos(xita'), sin(xita')];

%**************************************************************************
%       初始化ART2网络常数
%**************************************************************************
 %输入向量长度
[n,m]=size(X)
output =4;                  %预备输出神经元个数
output=n;
a=10;                       % S = I+ a U
b=10;                       % V= f(x)+b f(q)
c=0.1;
d=0.95;                      %竞争胜利后的输出       %(c*d)/(1-d)<=1

e=0.000001;                   % 分母中使用,避免被0除

theta=1/(2*sqrt(m));           % f函数中使用 

rho=0.99;        % 警戒值

alpha=0.1;

%初始化连接矩阵内容,Wb, Wt由学习更新,
%这里不需要满足 lamdaN<.....<lamda2<lamda1的条件,软件程序可以自己找出第一个 
WF1_F2 = ones(output,m) * ( 0.5 / (( 1 - d ) * sqrt(m)) );    %初始化
WF2_F1 = zeros(m,output);                                            %初始化为0

%===============================================
%===============================================
%循环样本数目次,预备依次输入样本

i=[3 2 4 1 5];

w=[];
for j = 1:1000    

       %输入向量准备            
       Input=X(i(mod(j,5)+1),:);

        [u,J]=ART_Process(Input, output,a,b,c,d,WF1_F2,WF2_F1, rho,theta,e);

        WF2_F1(:,J) = (u/(1-d))' ;                        %快速学习
        WF1_F2(J,:) = u/(1-d);

        w=[w;mod(j,5)+1,J];
       
end




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?