Red de conocimiento informático - Material del sitio web - ¡Esperando en línea! ! ! La programación de MATLAB utiliza el método de mínimos cuadrados generalizado para la identificación del sistema

¡Esperando en línea! ! ! La programación de MATLAB utiliza el método de mínimos cuadrados generalizado para la identificación del sistema

Publicar un párrafo para ti

borrar todo;

cerrar todo;

clc;

% M construcción de matriz

Np=15;r=4;

X1=1;X2=1;X3=1;X4=1;

m_length = r *Np;

a=1;

para i=1:1:m_length

Y4=X4;Y3=X3;Y2=X2;Y1= X1;

X4=Y3;X3=Y2;X2=Y1;

X1=xor(Y3,Y4);

si Y4==0

M(i)=-a;

else

M(i)=a;

fin

fin

figura;

i=1:1:m_length;

plot(i,M);

% ruido blanco

ruido = ceros(1,m_length);

for i=1:1:m_length

temp = ruido + 0,5*rands(1,m_length) ;

ruido = temp;

fin

ruido = ruido/12;

%ruido = temp;

% parámetro del sistema

n=2;d=1;a1=-1;a2=0.5;b1=1;b2=0.5;

S_U0=0.2;S_Y0 =0.2;

% genera u,y

u0=ones(1,m_length)*S_U0;

U = M + u0 + ruido;

figura;

i=1:1:m_length;

trama(i,U);

%formulación

y(1)=0;y(2)=0;y(3)=0;

Y(1)=S_Yy(1)+ruido(1);Y(2 )=S_Yy(2)+ruido(2);Y(3)=S_Yy(3) +ruido(3);

para k=4:m_length

y(k) = b1*U(k-1-d)+b2*U(k-2-d)-a1*y(k-1)-a2*y(k-2);

Y(k)=S_Yy(k)+ruido(k);

final

figura;

i=1:1: m_length;

plot(i,Y);

% identificación

% valor preliminar

c=2;

P = (c^3)*ojo(3*n+d);

sita(:,3) = ';

alf = 0.995;

% M

%calcular U0,Y0

sum_U = 0;sum_Y = 0;

para k=1:1:m_length

suma_U = suma_U + U(k);

suma_Y = suma_Y + Y(k);

fin

t_U0 = suma_U/m_longitud ;t

_Y0 = suma_Y/m_longitud;

para k=1:1:m_longitud

t_u(k) = U(k) - t_U0;

t_y(k ) = Y(k) - t_Y0;

fin

figura;

i=1:1:m_length;

trama( i,t_u);

figura;

i=1:1:m_length;

trama(i,t_y);

v(1)=0;v(2)=0;v(3)=0;

for k=4:1:m_length

fai = [-t_y(k -1),-t_y(k-2),t_u(k-1-d),t_u(k-2-d),v(k-1),v(k-2),v(k-3) ]';

v(k) = t_y(k) - fai'*sita(:,k-1);

W = P*fai;

dan = 1/(alf + fai'*W);

sita(:,k) = sita(:,k-1) + dan*W*v(k);

P = ( P - dan * W*W')/alf;

fin

figura;

i = 3:1:m_length ;

plot(i,sita(1,3:m_longitud),'r',i,sita(2,3:m_longitud),'g',i,sita(3,3:m_longitud) ,'b',i,sita(4,3:m_longitud),'y',i,sita(5,3:m_longitud),'m',i,sita(6,3:m_longitud),'c', i,sita(7,3:m_length),'k');