Sei sulla pagina 1di 9

Alumno: Joel Anthony Quispe Chesi CUI: 20133358

Ejercicio 1
function sis2orden(num,den)
num=input('ingrese el numerador de la funcion de transferencia:
');
den=input('ingrese el denominador de la funcion de
transferencia: ');
wn=sqrt(den(3));
zeta=den(2)/(2*wn);
k=num(1)/wn^2;
disp('la frecuencia natural es: ')
disp(wn)
disp('el coeficiente de amortigumiento es: ')
disp(zeta)
disp('la ganancia es: ')
disp(k)
if zeta<0
disp('El sistema es inestable')
elseif (zeta >0) && (zeta<1)
disp('El sistema es subamortiguado')
elseif zeta==1
disp('El sistema es criticamente amortiguado')
else
disp('El sistema es sobreamortiguado')
end

Ejecutamos el programa:
EJERCICIO 3
num=input('Introduzca numerador:')
den=input('Introduzca denominador:')
fprintf('funcion de transferencia')
G=tf(num,den)%funcion de transferencia
fprintf('polos')
p=roots(den)%polos
fprintf('ceros')
c=roots(num)%ceros
fprintf('cantidad de polos')
cn=length(p)
fprintf('cantidad de ceros')
cp=length(c)
N=cn-cp
fprintf('punto de ruptura')
sigma=((sum(p))-(sum(c)))/N
j=[0:1:N-1]
fprintf('angulo de asintotas')
phi=(180*(2*j-1))/N

r=den
m=length(r);
n=round(m/2);
q=1;
k=0;
for p = 1:length(r)
if rem(p,2)==0
c_even(k)=r(p);
else
c_odd(q)=r(p);

k=k+1;
q=q+1;
end
end
a=zeros(m,n);

if m/2 ~= round(m/2)
c_even(n)=0;
end
a(1,:)=c_odd;
a(2,:)=c_even;
if a(2,1)==0
a(2,1)=0.01;
end
for i=3:m
for j=1:n-1
x=a(i-1,1);
if x==0
x=0.01;
end

a(i,j)=((a(i-1,1)*a(i-2,j+1))-(a(i-2,1)*a(i-1,j+1)))/x;

end
if a(i,:)==0
order=(m-i+1);
c=0;
d=1;
for j=1:n-1
a(i,j)=(order-c)*(a(i-1,d));
d=d+1;
c=c+2;
end
end
if a(i,1)==0
a(i,1)=0.01;
end
end
Right_poles=0;
for i=1:m-1
if sign(a(i,1))*sign(a(i+1,1))==-1
Right_poles=Right_poles+1;
end
end
fprintf('\n Routh-Hurwitz :\n')
a
ROOTS=roots(r);
fprintf('\n Raices :\n')
ROOTS
rlocus(G)
xlabel('eje real')
ylabel('eje imaginario')
title('Criterio de Estabilidad por Lugar Geometrico de Raices')

fprintf('SISOTOOL')
sisotool(G)

ejecutamos el programa
Ejercicio 4
function sis2ordenparametros
Mp=input('ingrese el maximo sobrepaso: ');
ts=input('ingrese el tiempo de establecimiento: ');
tr=input('ingrese el tiempo de subida: ');
tp=input('ingrese el tiempo pico: ');
k=input('ingrese k: ');
z=sqrt((log(Mp))^2)/sqrt((log(Mp))^2+pi^2);
Wd=pi/tp;
o=pi/ts;
teta=atan(Wd/o);
Wn=Wd/sqrt(1-z^2);
num=[k*Wn^2];
den=[1 2*z*Wn Wn^2];
g=tf(num,den)
disp('El coeificiente de amortiguamiento es: ')
disp(z)
step(g)

Ejecutamos el programa

Potrebbero piacerti anche