Autor: Luis Fernando Apáez Álvarez
-Curso PyM-
Tarea 1: Ecuación lineal
Fecha de Entrega: 09 de Agosto del 2022
Descripción: En esta tarea crearemos un programa para resolver ecuaciones lineales. Asimismo, veremos un poco de teoría adicional que nos permitirá graficar la función lineal asociada a dicha ecuación y ver, además, gráficamente el punto sólución de ésta. (Tiempo estimado: 30 minutos)
Teoría: Una ecuación lineal es de la forma $ax+b=0$, donde $a\neq 0$. Podemos resolver dicha ecuación como sigue:
De tal manera, para resolver una ecuación lineal de manera general, basta con conocer los valores de $a$ y $b$. Nota que el resultado anterior puede considerarse como una especie de "chicharronera" para ecuaciones de grado 1:
$$ x = -\frac{b}{a}, \ \ a\neq 0 $$¿Existe alguna fórmula como la "chicharronera" para resolver ecuaciones de grado 3, 4 ó 5? Tal vez pueda interesarte:
Por qué no hay solución general de la ecuación de quinto grado
Bien, ahora implementaremos el análisis anterior para crear el código de nuestro programa, para lo cual:
(1) Daremos un mensaje al usuario especificando que la ecuación lineal que quiere resolver debe ser de la forma $ax+b=0$, es decir, su ecuación debe estar igualada a cero. También, le pediremos que ingrese los valores de $a$ y $b$:
# Mensaje de bienvenida
print("Bienvenido, este programa resuelve ecuaciones de primer grado")
print("-" * 50)
# Le especificamos sobre la forma de la ecuacion
print("Tu ecuación lineal debe ser de la forma ax+b=0")
print("-" * 50)
# Le pedimos que ingrese los valores de a y de b
# (Sustituye _ _ _ por el codigo que debe ir para que el usuario ingrese
# la informacion que le pedimos, ten cuidado con los tipos de datos)
print("Ingrese el valor de a (no debe ser cero): ")
a = _ _ _
print("Ingrese el valor de b: ")
b = _ _ _
(2) como vimos en la parte de teoría, la solución a cualquier ecuación lineal es $x=-\frac{b}{a}$. Tu labor es definir de manera correcta la variable x0
de abajo
# Define la variable x que almacene la solucion de la
# ecuacion lineal que ingrese el usuario.
# El nombre que le daremos a la variable x sera x0
x0 = _ _ _
(3) Una vez hecho todo lo anterior, mostraremos un mensaje final al usuario mostrándole el valor solución de x0
correspondiente a su ecuación:
# Escribe el mensaje final que le mostraremos al usuario
# como se indico antes. Para ello utiliza un f string
# (Recuerda que para utilizar valores de varibles dentro de
# tu f string debes usar {})
msj_final = _ _ _
# Mostraremos ahora
_ _ _ (msj_final)
Ahora, escribiremos el código necesario para mostrar la gráfica de la función lineal asociada a la ecuación lineal dada. Por ejemplo, para la ecuación lineal $ax+b=0$, la función lineal asociada es $f(x)=ax+b$, donde la solución de $ax+b=0$ representa la coordenada $x$ del punto de intersección entre $f(x)$ y el eje $x$. Por ejemplo, si tenemos la ecuación $2x+1=0$, podemos considerar la función lineal $f(x)=2x+1$, así como el punto solución $(-0.5,0)$, donde en este caso $x_{0}=-0.5$:
Ahora bien, lo que haremos será mostrar al usuario una gráfica como la anterior para la ecuación lineal que ingresó. Para ello:
(1) Realizaremos la importación de dos paquetes (los paquetes traen nuevas funcionalidades que podemos utilizar). El primer paquete nos permite realizar gráficos en Python y el segundo nos permite crear rangos de números (por ejemplo el rango de números que va del -5 al 5 para simular el intervalo $(-5,5)$)
(Ahorita no le prestes tanta atención a lo que estamos haciendo, tampoco te preocupes sino le estás entendiendo a esta parte, más adelante veremos a profundidad esto)
# Importaciones necesarias:
# Paquete 1:
# nos permite realizar gráficos en Python
import matplotlib.pyplot as plt
# Paquete 2:
# nos permite crear rangos de números
import numpy as np
(2) Ahora, graficaremos la función lineal asociada a la ecuación que ingresó el usuario. Para ello, primero crearemos el rango de graficación utilizando la función np.arange()
. Así, como queremos crear el intervalo $(-5,5)$, escribiremos entonces np.arange(-5,5)
. Luego definimos la función lineal a graficar, la cual almacenaremos en una variable denominada y
, de tal manera y = a * x + b
. Finalmente creamos el gráfico con la función plt.plot()
cuyo parámetro es la función que queremos graficar, por lo cual escribiremos plt.plot(x,y)
# Creamos el rango de graficacion del -5 al 5
x = np.arange(-5,5)
# defimos la funcion lineal
y = a * x + b
# graficamos la funcion anterior
plt.plot(x, y)
# graficamos tambien el punto de interseccion con el eje x
plt.plot(x0, 0, marker="o")
# mostramos una cuadricula
plt.grid()
# mostramos el grafico
plt.show()
Por ejemplo, si el usuario ingresó el valor de 2 para $a$ y el valor de 1 para $b$, entonces el código que escribimos antes deberá mostrar:
a = 2
b = 1
x0 = -b / a
# -------------------
# -------------------
# -------------------
# Creamos el rango de graficacion del -5 al 5
x = np.arange(-5,5)
# defimos la funcion lineal
y = a * x + b
# graficamos la funcion anterior
plt.plot(x, y)
# graficamos tambien el punto de interseccion con el eje x
plt.plot(x0, 0, marker="o")
# mostramos una cuadricula
plt.grid()
# mostramos el grafico
plt.show()