fork download
  1. # -*- coding: utf-8 -*-
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4.  
  5. # Parámetros del sistema
  6. omega_n = 1 # Frecuencia natural
  7. xi_values = [0, 0.1, 0.5, 1] # Diferentes valores de amortiguamiento
  8. t = np.linspace(0, 20, 1000) # Tiempo para la simulación
  9.  
  10. # Función de la respuesta del sistema a una entrada rampa unitaria
  11. def response_to_ramp(xi, t):
  12. # Respuesta a la entrada rampa unitaria para un sistema de segundo orden
  13. y = t - (2 * xi / omega_n) * (1 - np.exp(-xi * omega_n * t)) # Respuesta aproximada
  14. return y
  15.  
  16. # Crear la gráfica
  17. plt.figure(figsize=(10, 6))
  18.  
  19. # Graficar la respuesta para cada valor de amortiguamiento
  20. for xi in xi_values:
  21. y = response_to_ramp(xi, t)
  22. # Usamos una etiqueta con "xi" en lugar del carácter griego "ξ" para evitar problemas con Unicode
  23. plt.plot(t, y, label='Amortiguamiento: xi = {}'.format(xi))
  24.  
  25. # Configuración de la gráfica
  26. plt.title('Respuesta de un sistema de segundo orden a una entrada rampa unitaria')
  27. plt.xlabel('Tiempo (t)')
  28. plt.ylabel('Respuesta del sistema (θ(t))')
  29. plt.legend(loc='upper left')
  30. plt.grid(True)
  31.  
  32. # Mostrar la gráfica
  33. plt.show()
  34. # your code goes here
Success #stdin #stdout 0.71s 55520KB
stdin
Standard input is empty
stdout
Standard output is empty