syslin

Undefined

Programa 5.9 pag 256, Ogata

Español
Vamos a hacer la representacion grafica de la respuesta a una entrada escalon unitario al siguiente sistema, obteniendo la misma respuesta que en Programa 5.8 (programado en Scilab):

 

Funcion de transferencia, Transformada de Laplace

 

Programa en Scilab:

num=poly([1 0 0],'s','coeff');

den=poly([1 0.2 1],'s','coeff');

t=0:0.1:70;

g=syslin('c',num/den);

gs=csim('impulse',t,g);

plot2d(t,gs);

xgrid;

xtitle('respuesta a un impulso unitario de G(s)=1/(s^2+0.2s+1)');

Respuesta al sistema a un impulso con Scilab

Programa 5.8 pag 255, Ogata

Español
Vamos a hacer la representacion grafica de la respuesta a una entrada impulso unitario al siguiente sistema (programado en Scilab):

 

Funcion de transferencia de segundo orden, Transformada de Laplace


Programa en Scilab:
num=poly([1 0 0],'s','coeff');

den=poly([1 0.2 1],'s','coeff');

t=0:0.1:70;

g=syslin('c',num/den);

gs=csim('impulse',t,g);

plot2d(t,gs);

xgrid;

xtitle('respuesta a un impulso unitario de G(s)=1/(s^2+0.2s+1)');

 

Respuesta del sistema a un impulso unitario con Scilab

Programa 5.6 pag 252, Ogata

Español
Vamos a calcular el tiempo de subid, tiempo de pico, maxima sobreelongacion y tiempo de asentamiento utilizando el Scilab del siguiente sistema:

 

Funcion de transferencia de segundo orden, Transformada de Laplace


Programa en Scilab:
num=poly([25 0 0],'s','coeff');

den=poly([25 6 1],'s','coeff');

t=0:0.005:5;

g=syslin('c',num/den);

gs=csim('step',t,g);

r=1;

while gs(r)<1.0001;

r=r+1;

end;
tiemposubida=(r-1)*0.005;

[gsmax,rp]=max(gs);

tiempopico=(rp-1)*0.005;

ElongacionMax=gsmax-1;

rmax=5/0.005;

k=rmax+1;

while gs(k)>0.98 & gs(k)<1.02;
k=k-1;
end;

-->tiemposubida
 tiemposubida  =
 
    0.555  
 
-->tiempopico
 tiempopico  =
 
    0.785  
 
-->ElongacionMax
 ElongacionMax  =
 
    0.0947800  
 
-->tiempoasentamiento
 tiempoasentamiento  =
 
    1.185

 

Programa 5.5 pag 250, Ogata

Español
Vamos a hacer la representacion grafica de la respuesta a una entrada escalon unitario, dando a el factor
de amortiguacion los siguientes valores del sistema:$\zeta=0, 0.2, 0.4, 0.6, 0.8, 1.0 $
Funcion de tranferencia con el factor de amortiguacion, Transformada de Laplace

 

Programa en Scilab:
t=0:0.2:10;
zeta=[0 0.2 0.4 0.6 0.8 1];

cv=[1 2 3 4 5 6];

for n=1:6

num=poly([1 0 0],'s','coeff');

den=poly([1 2*zeta(n) 1],'s','coeff');

g=syslin('c',num/den);

gs=csim('step',t,g);

plot2d(t,gs,style=cv(n))

end;

xgrid;

xtitle('Representacion a un escalon unitario con wn=1,zeta=0 , 0.2
, 0.4,0.6,0.8,1','t(seg)','Respuesta');

legends(['zeta=0','zeta=0.2','zeta=0.4','zeta=0.6','zeta=0.8','zeta=1']
,[1,2,3,4,5,6],opt=4);
Respuesta del sistema a un escalor para varios valores del factor de amortiguamiento con Scilab

 

Programa 5.4 pag 250, Ogata

Español
Vamos a hacer la representacion grafica de la respuesta a una entrada escalon unitario del sistema:

 

Funcion de transferencia del sistema de segundo orden, Transformada de Laplace
Programa en Scilab:
num=poly([25 0 0 ],'s','coeff');

den=poly([25 4 1],'s','coeff');
g=syslin('c',num/den);

t=0:0.005:3;

gs=csim('step',t,g);

plot2d(t,gs);

xgrid;

xtitle('Respuesta a un escalon unitario G(s)=25/(s^2+4s+25)','Tiempo(seg)'
,'Amplitud')

Respuesta del sistema a un escalon unitario con Scilab

 

Respuesta Transitoria

Español

 

Ejercicio B.6.15

Español
Vamos a dibujar el lugar de las raíces del sistema en lazo abierto y calcular las raíces en lazo cerrado cuando $K=2$

 

Funcion de transferencia en lazo abierto, Tranformada de Laplace

 

Programa en Scilab:
//Borramos la ventana grafica

clf;
//Declaramos la variable s y la funciones 'g','h' y 'g*h'

s=%s;

g=(s+1)/(s*(s^2+2*s+6));

h=1/(s+1);

gh=g*h;

//Declaramos la funcion g*h lineal y continua

ghs=syslin('c',gh)

//Declaramos ghs2 como la funcion anterior
 pero con K=2

ghs2=2*ghs;
//Calculamos las raices de (1+ghs2)*(s+1), este ultimo es el polo que se anulo
 con el cero

glc=(1+ghs2)*(s+1);

r=roots(numer(glc))

//Dibujamos el lugar de las raices de la funcion ghs

evans(ghs);
mtlb_axis([-5 5 -5  5])

//Dibujamos el polo y el cero que se anularon:

plot(-1,0,'o');

plot(-1,0,'x');

//Dibujamos las raices para K=2;

plot(real(r),imag(r),'+');

xgrid;

xtitle('Lugar de las raices, los polos en lazo cerrado -> + para K=2','Eje real'
,'Eje imaginario');


Resultados
-->r=roots(numer(glc))
 r  =
 
  - 0.3706383              
  - 1.                     
  - 0.8146808 + 2.175406i  
  - 0.8146808 - 2.175406i



Lugar de las raices en lazo cerrado con Scilab

Programa 7.4 OGATA 4edicion pag438

Español
Vamos a dibujar la respuesta a una rampa mediante el Scilab de un sistema compensado y no compensado. El sistema en lazo abierto a compensar es el siguiente:

 

Funcion de transferencia del sistema en lazo abierto sin compensar


 

El sistema de compensacion (compensador de adelanto) obtenido es:

 

Funcion de transferencia del compensador de atraso

 

 

Programa en Scilab:
clf;

s=%s;

g=1.06/(s*(s+1)*(s+2));

gc=0.9656*(s+0.05)/(s+0.005);

gt=gc*g;

gc=g /. 1;

gct=gt /. 1;

t=0:0.1:50;

gs=syslin('c',gc);

gcs=syslin('c',gct);

y=csim('step',t,gs);

yt=csim('step',t,gcs);

plot(t,y);

plot(t,yt,'g');

xgrid;

xtitle('Respuesta a un escalon unitario de un sistema con compensacion de atraso'
,'t','salida');

legend(['no compensado';'compensado'],style=4);

 

Respuesta del sistema compensado y no compensado a una entrada escalon con Scilab

Programa 7.3 OGATA 4edicion pag437

Español
Vamos a dibujar la respuesta a un rampa mediante el Scilab de un sistema compensado y no compensado. El sistema en lazo abierto a compensar es el siguiente:

 

Funcion de transferencia del sistema en lazo abierto


 

El sistema de compensacion (compensador de atraso) obtenido es:

 

Funcion de transferencia del compensador de atraso

 

Programa en Scilab:
clf;

s=%s;

g=1.06/(s*(s+1)*(s+2));

gc=0.9656*(s+0.05)/(s+0.005);

gt=gc*g;

gc=g /. 1;

gct=gt /. 1;

t=0:0.1:50;

gs=syslin('c',gc);

gcs=syslin('c',gct);

y=csim(t,t,gs);

yt=csim(t,t,gcs);

plot(t,y);

plot(t,yt,'g');

plot(t,t,'r');

xgrid;

xtitle('Respuesta a una rampa unitaria de un sistema con compensacion de atraso','t'
,'salida');

legend(['no compensado';'compensado';'rampa'],style=4);

Respuesta en el tiempo del sistema a una entrada rampa unitaria con Scilab

Programa 7.2 OGATA 4edicion pag435

Español
Vamos a dibujar el lugar de las raices mediante el Scilab de un sistema compensado y no compensado. El sistema en lazo abierto a compensar es el siguinte:

 

Funcion de transferencia del sistema en lazo abierto


 

El sistema de compensacion (compensador de adelanto) obtenido es:

 

Funcion de transferencia del compensador de adelanto

 

Programa en Scilab:
clf;

s=%s;

g=1/(s*(s+1)*(s+2));

gc=(s+0.05)/(s+0.005);

gt=gc*g;

gs=syslin('c',g);

gcs=syslin('c',gt);

subplot(3,1,1);

evans(gs);

mtlb_axis([-2.1 0.5 -2 2])

xgrid;

xtitle('no compensado','','eje imaginario');

subplot(3,1,2);

evans(gcs);

mtlb_axis([-2.1 0.5 -2 2])

xgrid;

xtitle('compensado','','eje imaginario');

subplot(3,1,3);

evans(gcs);

mtlb_axis([-2.1 0.5 -0.1 0.1])

xgrid;

xtitle('compensado ampliado','eje real','eje imaginario');
Lugar de las raices del sistema sin compensar y compensador con Scilab

Páginas

Pin It
Subscribe to RSS - syslin