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

📄 rbfnonlinearsystemmodeling.txt

📁 用RBF网络进行非线性系统建模
💻 TXT
字号:
%%%%%%%%%%%%%%%%%%% 初始化 %%%%%%%%%%%%%%%%%5 
clear all; 
close all; 
G=10000; 
N=10; 
w=2.5*(1-2.*rand(N,1)); 
%ci=1-(2.*rand(2,10)); 
ci=3.*(1-(2.*rand(2,10))); 
di=0.5.*rand(1,10); 
E=0; 
%%%%%%%%%%%%%%%%%%% 非线性系统 %%%%%%%%%%%%%%%%%%%%%% 
%u1=2.*(1-2.*rand(1,800)); 
y_1=0; 
ts=0.2; 
%testx(3,10000)=0; 
for k=1:1:G  
   time(k)=k*ts; 
   u1(k)=1.0*(cos(2*pi*k*ts/250)); 
    %u1(k)=3.25-3*square((2*pi/150)*k); 
   yout1(k)=1.5*y_1/(1+y_1^2)+0.3*cos(y_1)+1.2*u1(k); 
   %u_1=u1(k); 
   %y_1=yout1(k); 
 %testx(:,k)=[u1(k);yout1(k);y_1]; 
 u_1=u1(k); 
   y_1=yout1(k); 
end 
testx=[u1;yout1]; 
%%%%%%%%%%%%%%%%%%%% 训练开始 %%%%%%%%%%%%%%%%%%%%% 
for k=1:1:G 
  for j=1:1:10 
      h(j)=exp(-norm(testx(:,k)-ci(:,j))^2/(2*di(j)*di(j))); 
  end 
 ymout1(k)=h*w; 
 
%%%%%%%%%%%%%%%%%%%%%% 参数的调整 %%%%%%%%%%%%%%%%%%%% 
d_w=0; 
for j=1:1:N 
    d_w(j,1)=0.2.*(yout1(k)-ymout1(k))*h(j); 
end 
w=w+d_w; 
 
d_di=0; 
for j=1:1:N 
    d_di(j)=0.2.*(yout1(k)-ymout1(k))*w(j)*h(j)*(di(j)^-3)*norm(testx(:,k)-ci(:,j))^2; 
end 
di=di+d_di; 
 
for j=1:1:N; 
    for i=1:1:2; 
        d_ci(i,j)=0.2.*(yout1(k)-ymout1(k))*w(j)*h(j)*(testx(i,k)-ci(i,j))*(di(j)^-2); 
    end 
end 
ci=ci+d_ci; 
end 
%figure(1); 
%plot(time,yout1,'r',time,ymout,'b'); 
%%%%%%%%%%%%%%%%%%%%%%%%%%% 测试 %%%%%%%%%%%%%%%%%%%%%%%%%5 
y_2=0; 
ts=0.1; 
for k=1:1:G 
   time(k)=k*ts; 
  u(k)=1.0*(cos(2*pi*k*ts/250)); 
   %u(k)=3.25-3*square((2*pi/150)*k); 
  yout(k)=1.5*y_1/(1+y_1^2)+0.3*cos(y_1)+1.2*u(k); 
  %x(:,k)=[u(k);yout(k);y_2]; 
   u_1=u(k); 
   y_1=yout(k); 
end 
 
x=[u;yout]; 
 
for k=1:1:G 
  for j=1:1:N 
      h(j)=exp(-norm(x(:,k)-ci(:,j))^2/(2*di(j)*di(j))); 
  end 
 ymout(k)=h*w; 
end 
for k=1:1:G 
    error(k)=yout(k)-ymout(k); 
    E=E+error(k); 
end 
E=abs(E)/G; 
figure(1); 
 plot(time,yout,'r',time,ymout,'b') 

⌨️ 快捷键说明

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