syslin

Undefined

Programa 7.1 OGATA 4edicion pag428

Español
Vamos a dibujar mediante el Scilab un sistema compensado y no compensado a una entrada escalon. El sistema en lazo abierto a compensar es el siguinte:

 

Funcion de transferencia en lazo abierto, Transformada de Laplace


 

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

 

Compensador de adelanto del sistema


Programa en Scilab:
clf;
 
s=%s;
 
g=4/(s*(s+2));
 
gs=4.68*(s+2.9)/(s+5.4);
 
gc=g/. 1;
 
gt=gs*g;
 
gtc=gt/. 1;
 
t=0:0.05:5;
 
gcs=syslin('c',gc);
 
gtcs=syslin('c',gtc);
 
y=csim('step',t,gcs);
 
yt=csim('step',t,gtcs);
 
plot(t,y);
 
plot(t,yt,'g');
 
xgrid;
 
legend(['no compensado';'compensado'],style=4);


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

Problema A6.15 OGATA 4edicion pag407

Español
Vamos a dibujar el lugar de las raices mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuyo funcion de transferencia en lazo abierto es:

 

Funcion de transferencia, Transformada de Laplace


 

Programa en Scilab

s=%s;

num=(s^2+25)*s;

den=(s^4+404*s^2+1600);

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

evans(g)

v=[-20 20 -21 21];

mtlb_axis(v)
Lugar de las raices del sistema con Scilab

El resultado que obtendremos no nos valdra la grafica esta deformada tendremos que programarlo de la siguiente manera

 
Programa en Scilab

s=%s;

num=(s^2+25)*s;

den=(s^4+404*s^2+1600);

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

for k1=0.2:0.2:20,

  gl=1+k1*g;

  numl=numer(gl);

  r=roots(numl);

  x=real(r);

  y=imag(r);

  plot(x,y,'o');

end;

for k2=20.02:0.2:30,

  g2=1+k2*g;

  num2=numer(g2);

  r2=roots(num2);

  x2=real(r2);

  y2=imag(r2);

  plot(x2,y2,'o');

end;

for k3=35:5:1000,

  g3=1+k3*g;

  num3=numer(g3);

  r3=roots(num3);

  x3=real(r3);

  y3=imag(r3);

  plot(x3,y3,'o');

end;

v=[-20 20 -21 21];

mtlb_axis(v)

xtitle('lugar de las raices','Eje Real','Eje imaginario')

xgrid;

 

Lugar de las raices con puntos del sistema con Scilab

 

Problema A6.14 OGATA 4edicion pag406

Español
Vamos a calcular el lugar de las raices mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuyo funcion de transferencia en lazo abierto es:

 

Funcion de transferencia, Transformada de Laplace


Programa en Scilab

s=%s;

num=(s+2);

den=(s^3+9*s^2+8*s);

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

evans(g);

sgrid([0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9],[1 2 3 4 5 6 7 8],23);

v=[-8 4 -6 6]

mtlb_axis(v);
Lugar de las raices con rejilla con valores de ganancia de la Transformada de Laplace con Scilab

 

Problema A6.13 OGATA 4edicion pag405

Español
Vamos a calcular el lugar de las raices mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuyo funcion de transferencia en lazo abierto es:

 

Funcion de Tranferencia, Transformada de Laplace


Programa en Scilab

s=%s;

num=(s+2)^2;

den=(s^2+4)*(s+5)^2;

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

evans(g);

v=[-8 4 -6 6]

mtlb_axis(v);

xgrid;
Lugar de las raices de la funcion de transferencia con Scilab

 

Problema A6.12 OGATA 4edicion pag402

Español
Vamos a calcular el lugar de las raices mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuyo funcion de transferencia en lazo abierto es:

 

Funcion de transferencia, Transformada de Laplace


Programa en Scilab

s=%s;

num=1;

den=s*(s+1)*(s+2);

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

evans(g);

v=[-4 4 -4 4]

mtlb_axis(v);

xgrid;
Lugar de las raices de la transformada de Laplace, Problema-A6-12

Problema A6.11 OGATA 4edicion pag400

Español
Vamos a calcular el lugar de las raices mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuyo funcion de transferencia en lazo abierto es:

 

Funcion de transferencia, Transformada de Laplace


Programa en Scilab

s=%s;

num=s+0.4;

den=s^2*(s+3.6);

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

evans(g);

v=[-5 1 -3 3]

mtlb_axis(v);

xgrid;
Lugar de las raices de la transformada de Laplace con Scilab

Programa 6.10 OGATA 4edicion pag378

Español
Vamos a dibujar el lugar de las raices mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuyo funcion de transferencia en lazo abierto es:

 

Funcion de transferencia, Transformada de Laplace


Programa en Scilab

s=%s;

num=s^2+2*s+4;

den=s*(s+4)*(s+6)*(s^2+1.4*s+1);

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

evans(g);

v=[-7 3 -6 6];

mtlb_axis(v);

xgrid;

xstring(0,1,'K=12');

xstring(0,2,'K=73');

xstring(0,3.5,'K=154');
Lugar de las raices de la transformadad de Laplace con Scilab

Programa 6.9 OGATA 4edicion pag372

Español
Vamos a dibujar el lugar de las raices con indicaciones de factor de amortiguamiento $\zeta$=0.5 mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuya funcion de transferencia en lazo abierto es:

 

Funcion de transferencia, Transformada de Laplace


Programa en Scilab

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

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

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

evans(g);

v=[-2 6 -4 4];

mtlb_axis(v);

sgrid(0.6,0,5);

xgrid;
Lugar de las raices de la transformada de Laplace con Scilab

Programa 6.8 OGATA 4edicion pag370

Español
Vamos a dibujar el lugar de las raices con indicacines de factor de amortiguamiento $\zeta$=0.5 y se pedira marcar un punto del lugar de las raices y se obtendra la ganancia K y los polos en lazo cerrado mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuya funcion de transferencia en lazo abierto es:

 

Funcion de transferencia, Transformada de Laplace


Programa en Scilab

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

den=poly([0 5 4 1],'s','coeff');

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

evans(g);

v=[-3 1 -2 2];

mtlb_axis(v)

sgrid([0.5],[0],32);

//marcar un punto con el raton en el lugar de las raices de la grafica

p=locate(1)

 k=-1/real(horner(g,[1,%i]*p));

 gl=1+k*g;

numgl=numer(gl);

roots(numgl)
k

Resultados:

-->p=locate(1)
 p  =
 
  - 0.6502732  
    1.0550725 
    
-->roots(numgl)
 ans  =
 
  - 0.6412384 + 1.0505487i  
  - 0.6412384 - 1.0505487i  
  - 2.7175231               
 
-->k
 k  =
 
    4.1166111

Programa 6.7 OGATA 4edicion pag367

Español
Vamos a dibujar el lugar de las raices con indicacines de factor de amortiguamiento $\zeta$=0.5 mediante Scilab de un sistema en lazo cerrado con realimentación unitaria cuya funcion de transferencia en lazo abierto es:

 

Funcion de transferencia de la transformada de Laplace


Programa en Scilab

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

den=poly([0 5 4 1],'s','coeff');

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

evans(g);

v=[-3 1 -2 2];

mtlb_axis(v)

sgrid([0.5],[0],32);
Lugar de las raices de la transformada de Laplace

Páginas

Pin It
Subscribe to RSS - syslin