clear
clc
c_d=0;
c_dd=0;
T=0.01;
r=0;
c=0;
xita=0.4;
alfa=0.02;
w=[1 1 1 1 1 ];
w_1=w;w_2=w_1;
for k=1:1:1000
%时间
t(k)=k*T;
%模型
r(k)=sin(t(k));
c_dd(k+1)=-25*c_d(k)+133*r(k);
c_d(k+1)=c_dd(k)*T+c_d(k);
c(k+1)=c_d(k)*T+c(k);
%RBF近似
x(k,:)=[r(k) c(k)];
cc=[-1 -0.5 0 0.5 1;
-10 -5 0 5 10 ];
b=2;
for j=1:1:5
h(j)=exp(-norm((x(k,:)'-cc(:,j)))^2/(2*b^2));
end
y(k)=w*h';
e(k)=0.5*(c(k)-y(k))^2;
w_d=xita*(c(k)-y(k))*h+alfa*(w_1-w_2);
w_2=w_1;
w_1=w;
w=w_1+w_d;
end
c(:,end)=[];
plot(t,c,'b',t,y,'r');