Sunteți pe pagina 1din 4

clear,clc;

t = (0:0.01:15)';
ramp = t; %rampa
s=1*(t>=0); %escalon unitario
%---parte iv---%
%---sistema 1---%
sys1=tf(20,[1 5 4]);
sys2=tf(0.449,1);
sysb1=feedback(sys1,sys2);%Realimentacion negativa(predeterminado)
sys3=tf(1,[1 0]);
sysb2=series(sysb1,sys3);%Asocioacion en serie de dos bloques
sysf=feedback(sysb2,1);%Realimentacion unitaria
yi=impulse(sysf,t);%respuesta del sistema a un impulso
ys = lsim(sysf,s,t); %lsim: respuesta a una entrada arbitraria
yr = lsim(sysf,ramp,t);
%Salidas aproximadas halladas analiticamente
yi1=2.1680*exp(-2.9021*t)-2.169*exp(-
1.0489*t).*cos(sqrt(5.7915)*t)+...
(4.0813/sqrt(5.7914))*exp(-1.0489*t).*sin(sqrt(5.7915)*t);
ys1=1.0003-0.747*exp(-2.9021*t)-(0.2529*exp(-
1.049*t).*cos(sqrt(5.7914)*t)+...
(2.4343/sqrt(5.7914))*exp(-1.049*t).*sin(sqrt(5.7914)*t));
yr1=-0.6492+1.0003*t+0.2575*exp(-2.9021*t)+0.3917*exp(-
1.049*t).*cos(sqrt(5.7914)*t)+...
(0.1580/sqrt(5.7914))*exp(-1.049*t).*sin(sqrt(5.7914)*t);
subplot(121)
plot(t,yi)
title('Respuesta a un impulso unitario');
xlabel('tiempo(seg)');
grid on
subplot(122)
plot(t,yi1)
title('Respuesta a un impulso unitario(analitico)')
xlabel('tiempo(seg)');
grid on
figure(2)
subplot(121)
plot(t,ys);
title('Respuesta a un escalon unitario');
xlabel('tiempo(seg)');
grid;
subplot(122)
plot(t,ys1)
title('Respuesta a un escalon unitario(analitico)');
xlabel('tiempo(seg)');
grid;
figure(3)
subplot(121)
plot (t,yr);
title ('Respuesta a una rampa');
xlabel ('tiempo(seg)');
grid;
subplot(122)
plot (t,yr1);
title ('Respuesta a una rampa(analitico)');
xlabel ('tiempo(seg)');
grid;
clear,clc;
t = (0:0.01:50)';
ramp = t; %rampa
s=1*(t>=0); %escalon unitario
%---sistema 2---%
sys12=tf(2,[1 0]);
sys22=tf(2,[1 4]);
sys32=tf(0.449,1);
sys3=tf(1,[1 0]);
sysb12=series(sys12,sys22);%Asocioacion en serie de dos bloques
sysb22=feedback(sysb12,sys32);%Realimentacion negativa(predeterminado)
sys42=tf(0.75,1);
sysb32=series(sys42,sysb22);%Asocioacion en serie de dos bloques
sysb42=series(sysb32,sys3);%Asocioacion en serie de dos bloques
sysf=feedback(sysb42,1);%Realimentacion unitaria
negativa(predeterminado)
yi=impulse(sysf,t);
ys = lsim(sysf,s,t); %lsim: respuesta a una entrada arbitraria
yr = lsim(sysf,ramp,t);
%Salidas aproximadas halladas analiticamente
yi1=0.2181*exp(-3.7342*t)-0.2182*exp(-
0.1329*t).*cos(sqrt(0.7857)*t)+...
(0.7854/sqrt(0.7857))*exp(-0.1329*t).*sin(sqrt(0.7857)*t);
ys1=0.9999-0.0584*exp(-3.7342*t)-0.9415*exp(-
0.1329*t).*cos(sqrt(0.7857)*t)-...
(0.3434/sqrt(0.7857))*exp(-0.1329*t).*sin(sqrt(0.7857)*t);
yr1=-0.5987+0.9999*t+0.0156*exp(-3.7342*t)+0.5831*exp(-
0.1329*t).*cos(sqrt(0.7857)*t)-...
(0.864/sqrt(0.7857))*exp(-0.1329*t).*sin(sqrt(0.7857)*t);
subplot(121)
plot(t,yi)
title('Respuesta a un impulso unitario');
xlabel('tiempo(seg)');
grid on
subplot(122)
plot(t,yi1)
title('Respuesta a un impulso unitario(analitico)')
xlabel('tiempo(seg)');
grid on
figure(2)
subplot(121)
plot(t,ys);
title('Respuesta a un escalon unitario');
xlabel('tiempo(seg)');
grid;
subplot(122)
plot(t,ys1)
title('Respuesta a un escalon unitario(analitico)');
xlabel('tiempo(seg)');
grid;
figure(3)
subplot(121)
plot (t,yr);
title ('Respuesta a una rampa');
xlabel ('tiempo(seg)');
grid;
subplot(122)
plot (t,yr1);
title ('Respuesta a una rampa(analitico)');
xlabel ('tiempo(seg)');
grid;

S-ar putea să vă placă și