# Ubicación de un punto de prueba en el lugar geométrico de las raices



## dporras (Ene 17, 2011)

Uno de los pasos finales para la graficación del lugar geométrico de las raíces, es tomar puntos de prueba para tener una mejor idea de la forma de la gráfica final.
Cómo se puede hacer esto?

Pensé que dando un valor a la parte real de s, y sustituyendo en la ecuación característica, hallaría finalmente la parte compleja, pero esta como que no es la vía.
Alguna sugerencia?

Gracias


----------



## antiworldx (Ene 17, 2011)

Has intentado trabajar con matlab? con la herramienta rltool o rlocus facilmente puedes conocer prácticamente cualquier valor e incluso agregar compensadores para ver el efecto que tendra sobre la funcion de transferencia.


----------



## Eduardo (Ene 17, 2011)

dporras dijo:


> Uno de los pasos finales para la graficación del lugar geométrico de las raíces, es tomar puntos de prueba para tener una mejor idea de la forma de la gráfica final.
> Cómo se puede hacer esto?
> *Pensé que dando un valor a la parte real de s, y sustituyendo en la ecuación característica*, hallaría finalmente la parte compleja, pero esta como que no es la vía.


No pibe, justamente se llama "lugar de las raices" porque lo que graficas es la ubicacion de los polos en funcion de la ganancia (el parametro K)

Para sacar esos puntos de prueba tenes que calcular las raices para un K particular.  Como en general son polinomios de grado mayor que 2, se eligen aquellos valores de K que simplifiquen el calculo. 
Pero salvo ejercicios con polinomios "elegidos" para hacerlo a mano, vas a necesitar soft (MatLab u otro)


----------



## antiworldx (Ene 17, 2011)

Si... yo intente hacer eso a mano, y resulto un infierno de calculos interminables...


----------



## dporras (Ene 17, 2011)

Muchas gracias por sus respuestas.

Si, con Matlab fácilmente se pueden hallar los puntos, pero como estoy tratando de hacerlo todo manualmente para aprender el proceso, quería buscar alguna manera.

Se me ocurrió colocar un valor a la parte real por conveniencia, para que cruce un LGR que parte de un par de polos complejos conjugados, por ejemplo -0.5. Entonces el polo de prueba lo definí (-0,5 + w.i). Esto lo sustituí en todas las S de la ecuación característica, e igualé la parte real y la imaginaria a cero, ya que me queda w y K como incógnitas.

El proceso es bien largo y tedioso, pero me pareció la manera lógica, y al final, efectivamente obtengo los valores de w y de K, pero no corresponden a los mismos valores de un polo con parte real -0,5 obtenido en Matlab, y he revisado bastante bien todos los cálculos.


----------



## antiworldx (Ene 17, 2011)

Matlab considera que la TF está en lazo cerrado. Es decir, cierra el lazo.


----------



## ecotronico (Ene 18, 2011)

Espero esto alivie los cálculos engorrosos:

http://www.mediafire.com/?zgc5b57c2hasjma

Es un emulador de calculadora de texas instruments TI-89.
Viene con el ROM y funciona.

Reemplazas la variable "s" por "jw" y ella te separa parte real e imaginaria.
También puedes obtener magnitud y fase.


----------



## cesar767_7 (Mar 13, 2011)

Saludos Eduardo:



Eduardo dijo:


> Para sacar esos puntos de prueba tenes que calcular las raices para un K particular. Como en general son polinomios de grado mayor que 2, se eligen aquellos valores de K que simplifiquen el calculo.
> Pero salvo ejercicios con polinomios "elegidos" para hacerlo a mano, vas a necesitar soft (MatLab u otro)


 
Se que paso mas de un mes desde el post pero no se si pudieran explicar un poquito mas acerca de este calculo, porque deseo realizar un programa para que lo haga.


----------



## Eduardo (Mar 14, 2011)

cesar767_7 dijo:


> Se que paso mas de un mes desde el post pero no se si pudieran explicar un poquito mas acerca de este calculo, porque deseo realizar un programa para que lo haga.


El "Lugar de las Raices" (Root Locus) es la gráfica *de los polos* de la función de transferencia a lazo cerrado en funcion de la ganancia (K). 
Como en sistemas lineales, las funciones de transferencia son funciones racionales ( N(z)/D(z) ), todo se limita a calcular los ceros del polinomio: D(z) + K*N(z)  para diferentes valores de K y graficarlos en el plano complejo.

Un principio muy simple, lástima que calcular los ceros a mano es un parto ==> por eso tradicionalmente (sin software) no se calculan directamente sino que se utilizan puntos claves y propiedades para agilizar el trabajo. Como K=0 y K=inf , ceros imaginarios puros usando Routh-Hurwitz) y angulos de salida y entrada para K=0 e inf.
A pesar de eso, el trazado sigue siendo un trabajo pesado.

Si querés hacer un programa no hace falta lo anterior, solamente hay que calcular los ceros complejos de D(z) + K*N(z) con métodos numéricos y graficar.
Pero hacer eso para *un caso general* y en VB (por ejemplo) no es tan trivial. Y para implementarlo en Matlab... directamente usá la función *rlocus()*.


----------



## cesar767_7 (Mar 14, 2011)

Gracias por responder:

Pero tengo algunas dudas, te pongo aqui un ejemplo:







Ahora tengo que trabajar en funcion de *s* o de *z* porque esto lo hace mas moroso porque siempre vamos a tener una FT en funcion de *s*.


----------



## Eduardo (Mar 14, 2011)

cesar767_7 dijo:


> Gracias por responder:
> 
> Pero tengo algunas dudas, te pongo aqui un ejemplo:
> 
> ...



No te entiendo... 
Me dá la impresión que el z al que te referís es al de la "Transformación Z" y no tiene nada que ver. 
Yo puse z en D(z) + K*N(z) representando el argumento complejo del polinomio resultante, pero es lo mismo que si hubiera puesto D(s) + K*N(s)



Respecto a ese ejemplo, el polinomio al que le tenes que calcular los ceros es:
(s + 3)(s^2 + 2s + 2) + k(s + 2) = *s^3 + 5s^2 + (k+8)s + (2k+6)
*
Si conocés Matlab los pasos son muy simples 

- Hacés 

```
den = [ 1 5 8 6];     % Polinomio s^3+5s^2+8s+6
num = [ 0 0 1 2];     % Polinomio s+2   
                      % Los primeros ceros son nada mas
                      % que para no salte error en los 
                      % pasos siguientes.
```
Despues un bucle calculando los ceros para diferentes K

```
% Uso 30 valores de ganancia  
% La ganancia usada en cada paso es en realidad
% k = 10^(n/10-1) , esto lo hago porque con incrementos
% iguales se "amontonarían" los puntos a medida que 
% aumenta la ganancia. O sea... por estética.

    for n = 1:30;         
        s(n,:) = roots(den+num*10^(n/10-1)); % roots() me calcula
                                             % los ceros.
    end
```
Y para terminar, una gráfica elemental de los ceros (1er imagen)     

```
plot(s,'.') ; axis([-3.5 .5 -8 8])
```
Claro que Matlab tiene la función rlocus() que te hace todo eso y con un mapa más elaborado.
Para comparar resultados, hago:

```
rlocus(num,den)
```
Y me devuelve la 2da imagen, que por suerte coincide 

.


----------



## cesar767_7 (Mar 14, 2011)

Muchas gracias maestro Eduardo eso era justo lo que nesecitaba lo que me confundio fue lo que pusiste z en vez de s pero ya todo aclarado, si tengo alguna duda te lo hare saber. Muchas gracias por todo.

Ya termine el programa es para la calculadora HP50g, aqui tengo el resultado aunque no esta tan bueno pero se nota lo que queria hacer jejeje. Doy las gracias a Eduardo por la ayuda.


----------

