反向传播算法的原理系统辨识实验报告
导读:就爱阅读网友为您分享以下“系统辨识实验报告”的资讯,希望对您有所帮助,的支持!
c(:,k-1)=c1;
c0=c1;
p0=p1;
end
a1=c(1,:);
a2=c(2,:);
b1=c(3,:);
b2=c(4,:);
i=1:199;
plot(i,a1,'r',i,a2,'b',i,b1,'y',i,b2,'black') ;
grid on
c(:,199)
AIC定阶:
% %%%%%%%%%%%%%%阶次辨识(AKaike)%%%%%%%%%%%
y1=UY(:,2);
u1=UY(:,1);
for n=1:5
N=200-n;
Y1=y1(n+1:n+N,1);
for i=1:n
phi1(1:N,i)=-y1(n+1-i:n+N-i,1);
phi1(1:N,n+i)=u1(n+1-i:n+N-i,1);
end
theta1=inv(phi1'*phi1)*phi1'*Y1;
e1(n+1:n+N,1)=y1(n+1:n+N)-phi1*theta1;
for i=1:n
psai1(1:N,i)=-y1(n+1-i:n+N-i,1);
psai1(1:N,n+i)=u1(n+1-i:n+N-i,1);
psai1(1:N,2*n+i)=e1(n+1-i:n+N-i,1);
end
thetaa1=inv(psai1'*psai1)*psai1'*Y1;
E1(n+1:n+N,1)=y1(n+1:n+N)-psai1*thetaa1;
sigma1(n,1)=E1'*E1/N;
m(n)=n;
phi1=0;
psai1=0;
B1(n,1)=N*log(sigma1(n,1))+3*n;
end
plot(m,B1,'r-o');
grid on
title('数据1AKaike阶次辨识');
残差定阶:
%%%%%%%%%%%%%%阶次辨识(残差最小)%%%%%%%%%%%
u=UY(:,1);
y=UY(:,2);
for n=1:5
N=200-n;
Y=y(n+1:n+N,1);
for j=1:N
for k=1:n
phi(j,k)=-y(n+j-k);
phi(j,n+k)=u(n+j-k);
end
end
theta=inv(phi'*phi)*phi'*Y;
e(n+1:n+N,1)=y(n+1:n+N)-phi*theta;
J(n,1)=e'*e;
phi=0;
m(n)=n;
end
plot(m,J,'r-o');
title('
数据1阶次曲线图');
hold on
grid on
第三题
GLS
v=randn(1,400);
e=[];
e(1)=v(1);
e(2)=v(2);
for i=3:400
e(i)=0*e(i-1)+0*e(i-2)+v(i);
end
M=UY(:,1);
z=UY(:,2);
%变换后的观测序列
zf=[];
zf(1)=-1;
zf(2)=0;
for i=3:142
zf(i)=z(i)-0*z(i-1)-0*z(i-2);
end
%
变换后的输入序列
uf=[];
uf(1)=M(1); %对各阶次计算Jn %计算Jn
uf(2)=M(2);
for i=3:142
uf(i)=M(i)-0*M(i-1)-0*M(i-2);
end
%赋初值
P=100*eye(4); %估计方差
Pstore=zeros(4,142);
Pstore(:,2)=[P(1,1),P(2,2),P(3,3),P(4,4)]';
Theta=zeros(4,140); %参数的估计值,存放中间过程估值
Theta(:,2)=[3;3;3;3];
K=[10;10;10;10]; %增益
PE=10*eye(2);
ThetaE=zeros(2,140);
反向传播算法的原理 系统辨识实验报告 来自淘豆网m.daumloan.com转载请标明出处.