m=0.5; k=2; b=1; den=[1 b/m k/m]; num=[0 0 1/m]; printsys(num,den); % RESPUESTA AL ESCALON UNITARIO step(num,den); title('RESPUESTA AL ESCALON UNITARIO'); % RESPUESTA AL IMPULSO UNITARIO figure, impulse(num,den); title('RESPUESTA AL IMPULSO UNITARIO'); % RESPUESTA A LA RAMPA UNITARIA denr=[1 b/m k/m 0]; figure, step(num,denr); title('RESPUESTA A LA RAMPA UNITARIA'); % RESPUESTA AL SENO f=60; T=1/f; w=2*pi*f; Arms=0.01; t=0:T/50:10*T; ut=Arms*sqrt(2)*sin(w*t); yt=lsim(num,den,ut,t); figure, plot(t,ut,'r',t,yt,'k'); title('RESPUESTA AL SENO(t)'); % ANALISIS DE ESTABILIDAD x=roots(den), maxrp=max(real(x)), if maxrp<=0 disp('SISTEMA ESTABLE...'); else disp('SISTEMA INESTABLE'); end % MODELO EN EL ESPACIO DE ESTADO disp('MODELO EN EL ESPACIO DE ESTADO...'); [A,B,C,D]=tf2ss(num,den) % RESPUESTA EN FRECUENCIA figure, bode(num,den); title('RESPUESTA EN FRECUENCIA'); % RESOLVIENDO MODELO EN EL TIEMPO y = dsolve('D2y + 1/0.5*Dy + 2/0.5*y = 1/0.5','Dy(0) = 0','y(0) = 0','t') ezplot(y,[0 6]), grid on %-------------------------------------------------------------------------------------------------------------------------- % RESPUESTA AL ESCALON UNITARIO POR EULER 48 a1=1/(R*C); a2=1/(L*C); b1=1/(R*C); 49 t(1)=0; u(1)=1; x1(1)=0; x2(1)=0; % Condiciones Iniciales 50 %he=0.1; % Periodo de Muestreo 51 %n=input('Numero de particiones: '); 52 for i=1:ne 53 t(i+1)=t(i)+he; 54 u(i+1)=1; 55 x1(i+1)=x1(i)+he*x2(i); % S.Euler 56 x2(i+1)=x2(i)+he*(-a2*x1(i)-a2*x2(i)+b1*u(i)); % S.Euler 57 end 58 disp(' t u x1 x2') 59 [t' u' x1' x2'] 60 %***********************************************************************