⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfnnc_6.m

📁 利用遞迴式模糊類神經網路(recerrent neural networks system identification, RFNN)進行系統辨識, 自己寫的請多包含
💻 M
字号:
%Adaptive PID control based on RBF Identification
clear all;
close all;
clc;
format('long')


xiteC=0.1;

xC=[0; 0];

ciC=[-1.5, -1, 0, 1, 1.5;...
    -1.5, -1, 0, 1, 1.5];
%ci=ones(2,5);
biC=[ones(1,5); ones(1,5)];
wC=0.01*ones(25,1); 
wiC=0.01*ones(2,5);

% initial feedback output
O12C_1 = zeros(2,5)

u_1=0;
y_1=0;
error_1 = 0;
error_2 = 0;

tf=2;
ts=0.001;
n=floor(tf/ts);

for k=1:n
   time(k)=k*ts;
   rin(k)=1.0*sin(sin(2*pi*k*ts));
   
   yout(k)=(-0.1*y_1+u_1)/(1+y_1^2);  %Nonlinear plant
   
  % Input layer
        for i1 = 1:2
           for j1=1:5
              O12C(i1,j1) = O12C_1(i1,j1)*wiC(i1,j1) + xC(i1,end);
           end
        end
   % Fuzzification
  for i = 1:2 
   for j=1:5
      f2C(i,j)=exp(-norm(O12C(i,j)-ciC(i,j))^2/(biC(i,j)^2));
   end
  end
   % Rules
 for j = 1:5
    m1C(j)=f2C(1,j);
    m2C(j)=f2C(2,j);
 end
  
   for i = 1:5
      for j = 1:5
         ff3C(i,j) = m2C(i)*m1C(j); 
      end
   end
  
   f3C = [ff3C(1,:), ff3C(2,:), ff3C(3,:), ff3C(4,:), ff3C(5,:)];
   % Defuzzification
   u(k)=(wC'*f3C');         
   
   wof3C=wC'*f3C';
   eC(k) = rin(k)-yout(k);
% Learning 
   d_wC=0*wC;
   for j=1:25
      d_wC(j)=xiteC*eC(k)*f3C(1,j);
   end
   wC=wC+d_wC;
   
   d_biC=0*biC;
  for i = 1:2 
   for j=1:5
      d_biC(i,j)=xiteC*eC(k)*wof3C*(biC(i,j)^-3)*norm(O12C(i,j)-ciC(i,j))^2;
   end
  end
   biC=biC+ d_biC;
   %pause
   
     for i=1:2
         for j=1:5
      d_ciC(i,j)=xiteC*eC(k)*wof3C*(O12C(i,j)-ciC(i,j))*(biC(i,j)^-2);
         end
     end
   ciC=ciC+d_ciC;
 
   d_wiC=0*wiC;
  for i = 1:2 
   for j=1:5
      d_wiC(j)=xiteC*eC(k)*wof3C*(O12C(i,j)-ciC(i,j))*(biC(i,j)^-2)*O12C_1(i,j);
   end
  end
   wiC=wiC+d_wiC;
   
   % Return params
   O12C_1 = O12C;
   xC(1,k+1) = u(k);
   xC(2,k+1) = y_1;

   u_1=u(k);
   y_1=yout(k);
   
   k
  % pause
end
figure(1);
plot(time,rin,'r',time,yout,'b');
xlabel('time(s)');ylabel('rin,yout');
legend('reference', 'Plant');



⌨️ 快捷键说明

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