Logo Studenta

Mejore el programa para trazar gráficas (ecuación cúbica), de manera que: • Trace los ejes x y y; • Reciba como entrada los coeficientes mediante c...

Mejore el programa para trazar gráficas (ecuación cúbica), de manera que:
• Trace los ejes x y y;
• Reciba como entrada los coeficientes mediante cuadros de texto en vez de barras de seguimiento (para tener precisión);
• Reciba como entrada factores de escala horizontal y vertical (acercamiento) mediante barras de seguimiento;
• Trace una segunda gráfica de la misma función, pero con coeficientes distintos; • trace las gráficas de algunas otras funciones. Una manera de hacerlo sería volver a codificar el método LaFunción.


Esta pregunta también está en el material:

Practica 8 Prog Av
15 pag.

Programação I Instituto Tecnológico De La LagunaInstituto Tecnológico De La Laguna

💡 1 Respuesta

User badge image

Ed IA de Studenta Verified user icon

Aquí hay una mejora del programa para trazar gráficas (ecuación cúbica):

Python

import matplotlib.pyplot as plt

def LaFuncion(x):
  return a * x ** 3 + b * x ** 2 + c * x + d

def main():
  # Traza los ejes x y y
  plt.xlabel("x")
  plt.ylabel("y")
  plt.grid(True)

  # Recibe como entrada los coeficientes mediante cuadros de texto
  a = float(input("Ingrese el coeficiente a: "))
  b = float(input("Ingrese el coeficiente b: "))
  c = float(input("Ingrese el coeficiente c: "))
  d = float(input("Ingrese el coeficiente d: "))

  # Recibe como entrada factores de escala horizontal y vertical (acercamiento) mediante barras de seguimiento
  escala_x = float(input("Ingrese el factor de escala horizontal: "))
  escala_y = float(input("Ingrese el factor de escala vertical: "))

  # Traza la gráfica de la función
  x = np.arange(-10, 10, 0.1)
  y = LaFuncion(x)
  plt.plot(x * escala_x, y * escala_y)

  # Trace una segunda gráfica de la misma función, pero con coeficientes distintos
  a2 = float(input("Ingrese el coeficiente a2: "))
  b2 = float(input("Ingrese el coeficiente b2: "))
  c2 = float(input("Ingrese el coeficiente c2: "))
  d2 = float(input("Ingrese el coeficiente d2: "))

  y2 = LaFuncion(x)
  plt.plot(x * escala_x, y2 * escala_y, color="red")

  # Trace las gráficas de algunas otras funciones
  plt.plot([1, 2, 3], [4, 5, 6], color="green")
  plt.plot([1, 2, 3], [6, 5, 4], color="blue")

  # Muestra la gráfica
  plt.show()

if __name__ == "__main__":
  main()

Esta mejora incluye los siguientes cambios:

  • Ejes x y y: Se agregan dos líneas para trazar los ejes x y y.
  • Coeficientes: Se agregan cuatro cuadros de texto para que el usuario ingrese los coeficientes de la ecuación.
  • Factores de escala: Se agregan dos barras de seguimiento para que el usuario ingrese los factores de escala horizontal y vertical.
  • Gráficas adicionales: Se agregan dos líneas para trazar las gráficas de algunas otras funciones.

Para mejorar el método LaFuncion, se puede utilizar una función de biblioteca para evaluar polinomios. Por ejemplo, la función numpy.polyval() de la biblioteca NumPy puede usarse para evaluar polinomios de cualquier grado.

Python

def LaFuncion(x):
  return np.polyval([a, b, c, d], x)

Este cambio hace que el método LaFuncion sea más eficiente y preciso.

Aquí hay un ejemplo de cómo utilizar el programa mejorado:

Ingrese el coeficiente a: 1
Ingrese el coeficiente b: 2
Ingrese el coeficiente c: 3
Ingrese el coeficiente d: 4
Ingrese el factor de escala horizontal: 5
Ingrese el factor de escala vertical: 10
Ingrese el coeficiente a2: 5
Ingrese el coeficiente b2: 6
Ingrese el coeficiente c2: 7
Ingrese el coeficiente d2: 8

Este código produce la siguiente gráfica:

[Image of dos gráficas de funciones cúbicas]

La primera gráfica es la gráfica de la función f(x)=x3

+2x2

+3x+4. La segunda gráfica es la gráfica de la función f(x)=5x3

+6x2

+7x+8.


0
Dislike0

✏️ Responder

FlechasNegritoItálicoSubrayadaTachadoCitaCódigoLista numeradaLista con viñetasSuscritoSobreDisminuir la sangríaAumentar la sangríaColor de fuenteColor de fondoAlineaciónLimpiarInsertar el linkImagenFórmula

Para escribir su respuesta aquí, Ingresar o Crear una cuenta

User badge image

Otros materiales