Autor Tema: Nyquist ciclo límite

0 Usuarios y 1 Visitante están viendo este tema.

05 Mayo, 2022, 12:54 pm
Leído 461 veces

susojuarez

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 36
  • País: es
  • Karma: +0/-0
Buenos días, a partir de los siguientes datos del archivo ¿cómo se haría para sacar la gráfica de Nyquist que se observa?



Muchas gracias.

05 Mayo, 2022, 01:55 pm
Respuesta #1

Abdulai

  • Moderador Global
  • Mensajes: 2,722
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Tradicionalmente estas gráficas de Nyquist se hacían a mano, calculando el ángulo cuando \( j\omega\to j\infty \), las intersecciones con los ejes, argumentos y alguno que otro punto característico.  El resultado era mas bien cualitativo y hay muchos libros de Control donde tienen mal dibujadas las asíntotas.

Hoy, basta un software matemático que contemple operaciones con números complejos.



05 Mayo, 2022, 07:10 pm
Respuesta #2

susojuarez

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 36
  • País: es
  • Karma: +0/-0
Muchas gracias. ¿Y en Matlab cómo se haría? Estoy intentándolo con la función Nyquist(), ahí pone que es el diagrama de Nyquist, y no soy capaz, la función de transferencia me da otra cosa, y la -1/N(a) no sé como ponerla para que se cruce en un punto. Perdona las molestias.

05 Mayo, 2022, 10:13 pm
Respuesta #3

susojuarez

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 36
  • País: es
  • Karma: +0/-0
También estoy intentando hacerlo como tú, en Maxima, y me sale esto con la función de transferencia.
(-1/N(a)) no sé como ponerlo.


06 Mayo, 2022, 04:15 pm
Respuesta #4

Abdulai

  • Moderador Global
  • Mensajes: 2,722
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
... ¿Y en Matlab cómo se haría? Estoy intentándolo con la función Nyquist(), ahí pone que es el diagrama de Nyquist, y no soy capaz, la función de transferencia me da otra cosa, y la -1/N(a) no sé como ponerla para que se cruce en un punto. Perdona las molestias.

En Octave, que en general es compatible con Matlab (pues no tengo Matlab), para usar Nyquist() tendrías que transformar \( s \) a un exponente entero, pero con exponentes grandes en la función de transferencia a la hora de graficar no se comporta bien.

En Matlab/Octave se puede hacer a pedal:
Código: [Seleccionar]
s=j*linspace(-5,5,1000) ;
h=1./(s.^.7.*(1+s).^2);
plot(h)
axis(3*[-1,1,-1,1])



09 Mayo, 2022, 12:45 am
Respuesta #5

susojuarez

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 36
  • País: es
  • Karma: +0/-0
Muchas gracias. Voy a probar :)

09 Mayo, 2022, 01:52 am
Respuesta #6

susojuarez

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 36
  • País: es
  • Karma: +0/-0
Bueno, eso ya lo tengo :)
Voy a ver como pongo -1/N(A) en el mismo gráfico.


13 Mayo, 2022, 12:48 pm
Respuesta #7

susojuarez

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 36
  • País: es
  • Karma: +0/-0
Hola de nuevo. En realidad la función descriptiva que tengo que graficar con h, es la del archivo adjunto, que está sólo en función de la frecuencia. He puesto unos valores aleatorios para la gráfica pero no me pinta nada. También he probado con un vector espaciado por ejemplo x=0.1:0.01:2; y con otras funciones si me grafica pero con esta no veo ninguna salida en los ejes. Seguiré probando. ¿Sugerencias? Muchas gracias.
Kc=3.2;
Pr=0.25;
Ti=0.1;
w=6.189;
N=(Kc*(j*(w*Ti+((4/Ti)*Pr))+1) / (j*w*Ti));
plot (x, real(-1./N(:,1)), 'b-', x, imag(-1./N(:,1)), 'r-');

13 Mayo, 2022, 06:23 pm
Respuesta #8

Abdulai

  • Moderador Global
  • Mensajes: 2,722
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Es que ahí N no es un vector.

Hacé algo así:
Código: [Seleccionar]
s=j*linspace(-10,10,2000) ;
h=1./(s.^.7.*(1+s).^2);

Kc=3.2;
Pr=0.25;
Ti=0.1;
w=6.189*[0.1:0.1:1000] ;
N=(Kc*(j*(w*Ti+((4/Ti)*Pr))+1)./(j*w*Ti));

plot(h)     ; hold on
plot(-1./N) ; hold off
axis([-1,.25,-.5,.5])

14 Mayo, 2022, 11:59 am
Respuesta #9

susojuarez

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 36
  • País: es
  • Karma: +0/-0
¡Guau, funciona!  :D Voy a analizar datos. Muchas gracias Abdulai.