Professional Documents
Culture Documents
Función polinomial
Alumno:
o Anhuar Alejandro Farías Chávez 1630320
2
INTRODUCCIÓN
En la presente practica se trabajará con una función polinomial la cual esta muestreada
de 0 a 50 unidades. Por medio del software matemático Scilab se hará variar el valor del
vector r para analizar gráficamente su comportamiento y comprender de mejor manera
como es la geometría de los números complejos.
Recordando:
Los números complejos se pueden representar en forma:
• Cartesiana
• Polar o trigonométrica
• Exponencial
En el plano los representamos como Z
𝑍 ≡ 𝑟𝑒 𝑗𝜃
Y cada número complejo tiene parte real (r) y parte imaginaria (𝒆𝒋𝜽 ).
r = magnitud del vector desde el origen hasta el número imaginario
Considerando Ilustración 1:
𝑏 𝑎
𝑆𝑒𝑛 𝜃 = 𝐶𝑜𝑠 𝜃 =
𝑟 𝑟
𝑏 = 𝑟 ∙ 𝑆𝑒𝑛 𝜃 𝑎 = 𝑟 ∙ 𝐶𝑜𝑠 𝜃
3
Considerando Ilustración 2:
𝑒 𝑗𝜃 = 𝐶𝑜𝑠(𝜃) + 𝑗 𝑆𝑒𝑛(𝜃)
𝑧 = 𝑟 [𝐶𝑜𝑠(𝜃) + 𝑗 𝑆𝑒𝑛(𝜃)]
𝑍 = 𝑟𝑒 𝑗𝜃
𝑍 ≡ 𝑟𝑒 𝑗𝜃 → 𝑧 𝑘 = (𝑟𝑒 𝑗𝜃 )𝑘 = 𝑟 𝑘 𝑒 𝑗𝜃𝑘
Los valores del vector r a utilizar en cada caso de análisis serán los siguientes:
• r = 0.5 para 0 ≤ 𝑟 < 1
• r = -0.5 para −1 ≤ 𝑟 ≤ 0
• r = 1 para 𝑟 = 1
• r = -1 para 𝑟 = −1
4
DESARROLLO
Mediante el software Scilab se desarrolló un código para elevar el valor de r a una
potencia k, la cual se muestreo de 0 a 50.
Veamos gráficamente el comportamiento en cada caso.
Caso 1: 0 ≤ 𝑟 < 1
r = 0.5
Código Scilab
k = 0 : 50;
r = 0.5;
xk = r.^k;
scf();
subplot( 3, 2, 1 )
plot(k, xk, 'ro')
title('valor de r=' +string(r))
xgrid
Gráfica
5
Caso 2: 𝑟 > 1
r = 1.5
Código Scilab
k = 0 : 50;
r = 1.5;
xk = r.^k;
scf();
subplot( 3, 2, 2 )
plot(k, xk, 'ro')
title('valor de r=' +string(r))
xgrid
Gráfica
6
Caso 3: −1 ≤ 𝑟 ≤ 0
r = -0.5
Código Scilab
k = 0 : 50;
r = -0.5;
xk = r.^k;
scf();
subplot( 3, 2, 3 )
plot(k, xk, 'ro')
title('valor de r=' +string(r))
xgrid
Gráfica
7
Caso 4: 𝑟 < −1
r = -1.5
Código Scilab
k = 0 : 50;
r = -1.5;
xk = r.^k;
scf();
subplot( 3, 2, 4 )
plot(k, xk, 'ro')
title('valor de r=' +string(r))
xgrid
Gráfica
En este caso tenemos muestras positivas y negativas por la razón analizada en el caso
3.
Y con Ilustración 6 podemos observar que las muestras tienden a infinito por la razón
analizada en el caso 2.
8
Caso 5: 𝑟 = 1
r=1
Código Scilab
k = 0 : 50;
r = 1;
xk = r.^k;
scf();
subplot( 3, 2, 5 )
plot(k, xk, 'ro')
title('valor de r=' +string(r))
xgrid
Gráfica
9
Caso 6: 𝑟 = −1
r = -1
Código Scilab
k = 0 : 50;
r = -1;
xk = r.^k;
scf();
subplot( 3, 2, 6 )
plot(k, xk, 'ro')
title('valor de r=' +string(r))
xgrid
Gráfica
10
CONCLUSIÓN
Analizando todos los casos podemos darnos cuenta que depende mucho la magnitud
del vector del origen al número imaginario para ver si este número será de utilidad o no
en nuestra función, se pueden concluir 3 casos:
• |𝑟| < 1
Si observamos los casos 1 y 3, podemos notar que cuando el valor absoluto de r
sea menor que 1 la función será ESTABLE ya que sus gráficas convergen.
• |𝑟| > 1
• 𝑟 = 1 ; 𝑟 = −1
Si observamos los casos 5 y 6, podemos notar que cuando el valor absoluto de r
sea igual a 1 la función tendrá ESTABILIDAD CRÍTICA ya que sus gráficas se
mantienen totalmente estables en una magnitud.
En ocasiones puede ser un poco complicado comprender como es la geometría de
los números complejos por lo poco que estamos acostumbrados a trabajar con este
tema, pero con prácticas como esta nos ayudan mucho a poder comprender su
estructura al igual que su comportamiento en una función y es muy importante
conocerlo ya que es la base de la transformada Z.
11
PRACTICAS UNIDAD 2
Transformada Z inversa por el método
computacional
Alumno:
o Anhuar Alejandro Farías Chávez 1630320
Ilustración 10. Posible señal x(t) con Ilustración 11.Posible señal x(t) con
forma de escalón forma senoidal
Se sabe que 𝑥{𝐾𝑇} 𝑜 𝑥(𝑘) son sistemas en reposo, lo que significa que su valor es 0 para
las muestras 𝑘 < 0.
13
División polinomial
Este método consta de realizar la división directamente de los dos polinomios y así
obtener la transformada Z. Un punto que debemos considerar es que cuando se utiliza
el método de división directa usualmente el resultado que este nos arroja es a partir de
la muestra k=1, por lo tanto, cuando se utiliza este método se le debe aplicar el teorema
del valor inicial a la 𝑋(𝑧) para obtener el valor de la muestra en k=0 y así complementar
nuestra respuesta.
Respuesta al impulso
En este método se considera que tengamos un sistema de la forma 𝐺(𝑧) como función
de transferencia podemos conocer su salida tan solo con aplicarle una función impulso
en la entrada.
Recordar que:
14
DESARROLLO
Por medio del software matemático Scilab se estructuró un código para ayudar a
obtener la transformada Z inversa de 4 sistemas. Cada sistema se resolvió por medio
de los dos métodos computacionales y se comprobó gráficamente que el
comportamiento de la respuesta fuera igual.
NOTA: El software Scilab no reconoce los términos del numerador y denominador si
están términos de 𝑧 −1 por lo tanto antes de declararlos en el software debemos
transformarlos a términos de 𝑧.
Sistema 1:
10𝑧 + 5
𝑋(𝑧) =
(𝑧 − 1)(𝑧 − 0.2)
Código: Gráfica:
//DECLARAR VALORES DEL NUMERADOR
Y DENOMINADOR
z= %z;
num=10*z + 5;
den=z^2 - 1.2*z + 0.2;
Gz= syslin('d', num, den);
15
• Método por división directa
Código:
//DECLARAR VALORES DEL NUMERADOR Y DENOMINADOR
z= %z;
num=10*z + 5;
den=z^2 - 1.2*z + 0.2;
Gráfica:
Código:
//DECLARAR VALORES DEL NUMERADOR Y DENOMINADOR
z= %z;
num=1;
den=z+1;
Gz= syslin('d', num, den);
//FABRICAR LA SEÑAL DE ENTRADA
N=50;
xk=[1, zeros(1,N-1)];
//CALCULAR LA RESPUESTA AL IMPULSO
yk=flts(xk, Gz);
//GRÁFICAR
scf();
subplot(1,2,1)
plot( 0:N-1, yk, 'bo')
xgrid
Gráfica:
Código:
//DECLARAR VALORES DEL NUMERADOR Y DENOMINADOR
z= %z;
num=1;
den=z+1;
//POR DIVISIÓN POLINOMIAL
yk2=ldiv(num, den, N-1);
subplot(1,2,2)
//CONCATENAMOS UN 0 PORQUE HAY QUE CALCULAR EL VALOR INICIAL MANUALMENTE Y
EN ESTE VECTOR SE LE AGREGA EL VALOR CORRESPONDIENTE.
plot(0:N-1, [0, yk2'], 'ro')
xgrid
Gráfica:
𝑋(𝑧) = 1 + 2𝑧 −1 + 3𝑧 −2 + 4𝑧 −3
Código:
//DECLARAR VALORES DEL NUMERADOR Y DENOMINADOR
z= %z;
num=z^3+2*z^2+3*z+4;
den=z^3;
Gz= syslin('d', num, den);
//FABRICAR LA SEÑAL DE ENTRADA
N=50;
xk=[1, zeros(1,N-1)];
//CALCULAR LA RESPUESTA AL IMPULSO
yk=flts(xk, Gz);
//GRÁFICAR
scf();
subplot(1,2,1)
plot( 0:N-1, yk, 'bo')
xgrid
Gráfica:
19
• Método por división directa
Código:
//DECLARAR VALORES DEL NUMERADOR Y DENOMINADOR
z= %z;
num=z^3+2*z^2+3*z+4;
den=z^3;
//POR DIVISIÓN POLINOMIAL
yk2=ldiv(num, den, N-1);
subplot(1,2,2)
//CONCATENAMOS UN 0 PORQUE HAY QUE CALCULAR EL VALOR INICIAL MANUALMENTE Y
EN ESTE VECTOR SE LE AGREGA EL VALOR CORRESPONDIENTE.
plot(0:N-1, [1, yk2'], 'ro')
xgrid
Gráfica:
20
Sistema 4:
0.4673𝑧 −1 − 0.3393𝑧 −2
𝐺(𝑧) =
1 − 1.5327𝑧 −1 + 0.6607𝑧 −2
Código:
//DECLARAR VALORES DEL NUMERADOR Y DENOMINADOR
z= %z;
num=0.4673*z - 0.3393;
den=z^2 - 1.5327*z + 0.6607;
Gz= syslin('d', num, den);
//FABRICAR LA SEÑAL DE ENTRADA
N=50;
xk=[1, zeros(1,N-1)];
//CALCULAR LA RESPUESTA AL IMPULSO
yk=flts(xk, Gz);
//GRÁFICAR
scf();
subplot(1,2,1)
plot( 0:N-1, yk, 'bo')
xgrid
Gráfica:
21
• Método por división directa
Código:
//DECLARAR VALORES DEL NUMERADOR Y DENOMINADOR
z= %z;
num=0.4673*z - 0.3393;
den=z^2 - 1.5327*z + 0.6607;
Gráfica:
22
CONCLUSIÓN
23