UNIVERSIDAD TECNOLÓGICA DE LEÓN
Ingeniería en Mecatrónica
Matemáticas para la ingeniería II
Prof. J. Guadalupe Santos Gómez
Grupo IMT804
Actividad
“Gráficas y Soluciones en Python”
Alumnos:
• Carpio Duarte Héctor Daniel
18 de marzo del 2025
Código
Resultado
Gráfica 1
import numpy as np
import matplotlib.pyplot as plt
# Definir el rango de valores para x (dominio de la
función)
x = np.linspace(-4, 4, 1000) # Rango de -4 a 4
para cubrir el dominio
# Calcular y a partir de la ecuación y = x * sqrt(16
- x^2)
y = x * np.sqrt(16 - x**2)
# Crear la gráfica
plt.figure(figsize=(10, 6))
plt.plot(x, y, label=r'$y = x \sqrt{16 - x^2}$',
color='blue')
# Etiquetas de los ejes
plt.xlabel('x')
plt.ylabel('y')
# Título de la gráfica
plt.title('Gráfica de $y = x \sqrt{16 - x^2}$')
# Límites de los ejes
plt.xlim(-5, 5)
plt.ylim(-10, 10)
# Mostrar la cuadrícula
plt.grid(True)
# Mostrar la leyenda
plt.legend()
# Mostrar la gráfica
plt.show()
Gráfica 2
# Calcular y a partir de la ecuación y = (x^2 + 3x) /
(3x + 1)^2
y = (x**2 + 3*x) / (3*x + 1)**2
# Crear la gráfica
plt.figure(figsize=(10, 6))
2
plt.plot(x, y, label=r'$y = \frac{x^2 + 3x}{(3x +
1)^2}$', color='green') # Graficar la función
# Línea vertical para la asíntota
asymptote_x = -1/3 # Valor donde el
denominador es cero
plt.axvline(x=asymptote_x, color='red', linestyle='-', label='Asíntota vertical')
# Etiquetas de los ejes
plt.xlabel('x')
plt.ylabel('y')
# Título de la gráfica
plt.title('Gráfica de $y = \\frac{x^2 + 3x}{(3x +
1)^2}$')
# Límites de los ejes
plt.xlim(-5, 5)
plt.ylim(-10, 10)
# Mostrar la cuadrícula
plt.grid(True)
# Mostrar la leyenda
plt.legend()
# Mostrar la gráfica
plt.show()
Gráfica 3
import numpy as np
import matplotlib.pyplot as plt
# Definir el rango de valores para t
t = np.linspace(0, 4 * np.pi, 1000) # Rango de 0 a
4π para capturar varias oscilaciones
# Definir la función f(t)
def f(t):
return np.cos(t) + 0.8 * np.cos(2*t) + np.cos(4*t)
+ 0.5 * np.cos(8*t) + np.cos(16*t)
# Calcular los valores de f(t)
y = f(t)
3
# Crear la gráfica
plt.figure(figsize=(10, 6))
plt.plot(t, y, label=r'$f(t) = \cos(t) + 0.8\cos(2t) +
\cos(4t) + 0.5\cos(8t) + \cos(16t)$', color='pink')
# Etiquetas de los ejes
plt.xlabel('t')
plt.ylabel('f(t)')
# Título de la gráfica
plt.title('Gráfica de $f(t) = \cos(t) + 0.8\cos(2t) +
\cos(4t) + 0.5\cos(8t) + \cos(16t)$')
# Mostrar la cuadrícula
plt.grid(True)
# Mostrar la leyenda
plt.legend()
# Mostrar la gráfica
plt.show()
Gráfica 4
import numpy as np
import matplotlib.pyplot as plt
# Definir el rango de valores para x
x = np.linspace(-5, 5, 1000) # Rango de -5 a 5
para capturar el comportamiento de la función
# Definir la función p(x)
def p(x):
return (1 + x + (x**2)/2 + (x**3)/6 + (x**4)/24 +
(x**5)/120 +
(x**6)/720 + (x**7)/5040 + (x**8)/40320)
# Calcular los valores de p(x)
y = p(x)
# Crear la gráfica
plt.figure(figsize=(10, 6))
plt.plot(x, y, label=r'$p(x) = 1 + x + \frac{x^2}{2} +
\frac{x^3}{6} + \frac{x^4}{24} + \frac{x^5}{120} +
\frac{x^6}{720} + \frac{x^7}{5040} +
\frac{x^8}{40320}$', color='blue')
# Etiquetas de los ejes
plt.xlabel('x')
4
plt.ylabel('p(x)')
# Título de la gráfica
plt.title('Gráfica de $p(x) = 1 + x + \\frac{x^2}{2} +
\\frac{x^3}{6} + \\frac{x^4}{24} + \\frac{x^5}{120} +
\\frac{x^6}{720} + \\frac{x^7}{5040} +
\\frac{x^8}{40320}$')
# Mostrar la cuadrícula
plt.grid(True)
# Mostrar la leyenda
plt.legend()
# Mostrar la gráfica
plt.show()
Gráfica 5
import numpy as np
import matplotlib.pyplot as plt
# Definir el rango de valores para x
x = np.linspace(-5, 5, 1000) # Rango de -5 a 5
para cubrir el círculo completo
# Calcular los valores de y (parte positiva y
negativa de la raíz cuadrada)
y_positive = np.sqrt(25 - x**2) # Parte superior del
círculo
y_negative = -np.sqrt(25 - x**2) # Parte inferior
del círculo
# Crear la gráfica
plt.figure(figsize=(8, 8))
plt.plot(x, y_positive, label=r'$y = \sqrt{25 - x^2}$',
color='orange') # Parte superior
plt.plot(x, y_negative, label=r'$y = -\sqrt{25 x^2}$', color='orange') # Parte inferior
# Etiquetas de los ejes
plt.xlabel('x')
plt.ylabel('y')
# Título de la gráfica
plt.title('Gráfica de $x^2 + y^2 = 25$')
5
# Límites de los ejes
plt.xlim(-6, 6)
plt.ylim(-6, 6)
# Mostrar la cuadrícula
plt.grid(True)
# Mostrar la leyenda
plt.legend()
# Mostrar la gráfica
plt.show()
Grafica 6
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Crear una malla de valores para theta y phi
(coordenadas esféricas)
theta = np.linspace(0, 2 * np.pi, 100) # Ángulo
azimuthal
phi = np.linspace(0, np.pi, 50)
# Ángulo polar
theta, phi = np.meshgrid(theta, phi)
# Convertir coordenadas esféricas a cartesianas
r = 7 # Radio de la esfera
x = r * np.sin(phi) * np.cos(theta)
y = r * np.sin(phi) * np.sin(theta)
z = r * np.cos(phi)
# Crear la figura y el eje 3D
fig = plt.figure(figsize=(8, 8))
ax = fig.add_subplot(111, projection='3d')
# Graficar la superficie de la esfera
ax.plot_surface(x, y, z, color='pink', alpha=0.7)
# Etiquetas de los ejes
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
# Título de la gráfica
ax.set_title('Gráfica de $x^2 + y^2 + z^2 = 49$')
# Límites de los ejes
6
ax.set_xlim([-8, 8])
ax.set_ylim([-8, 8])
ax.set_zlim([-8, 8])
# Mostrar la gráfica
plt.show()
Gráfica 7
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Crear una malla de valores para x y y
x = np.linspace(-10, 10, 200)
y = np.linspace(-10, 10, 200)
x, y = np.meshgrid(x, y)
# Calcular z a partir de la ecuación x^2 + y^2 = z
z = x**2 + y**2
# Crear la figura y el eje 3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Graficar la superficie
ax.plot_surface(x, y, z, cmap='viridis')
# Etiquetas de los ejes
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
#mostrar titulo
plt.title(r'$x^2 + y^2 = z$')
# Mostrar la gráfica
plt.show()
Gráfica 8
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Crear una malla de valores para x, y y z
x = np.linspace(-10, 10, 100)
y = np.linspace(-10, 10, 100)
x, y = np.meshgrid(x, y)
7
# Resolver la ecuación para z: x^2 - y^2 + z^2 =
25
# Despejamos z^2 = 25 - x^2 + y^2
z_squared = 25 - x**2 + y**2
# Tomamos la raíz cuadrada (solo valores reales)
z = np.sqrt(np.abs(z_squared)) # Usamos np.abs
para evitar valores negativos dentro de la raíz
# Crear la figura y el eje 3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Graficar la superficie (parte positiva de z)
ax.plot_surface(x, y, z, cmap='viridis', alpha=0.8)
# Graficar la superficie (parte negativa de z)
ax.plot_surface(x, y, -z, cmap='viridis', alpha=0.8)
# Etiquetas de los ejes
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
# Título de la gráfica
ax.set_title('Hiperboloide de una hoja: x² - y² + z² =
25')
# Mostrar la gráfica
plt.show()
Resolucion 1
from sympy.interactive import printing
printing.init_printing (use_latex=True)
import numpy as np
import sympy as sy
import math
from sympy import symbols, Function, Eq, exp,
dsolve
# Definir las variables y la función
x = symbols('x')
y = Function('y')(x)
# Definir la ecuación diferencial
8
ecuacion = Eq(y.diff(), (x - exp(-x)) / (y + exp(y)))
# Intentar resolver la ecuación diferencial
solucion = dsolve(ecuacion, y)
# Mostrar la solución
print("Solución de la ecuación:")
print(solucion)
Resolucion 2
import sympy as sy
from sympy import init_printing, symbols,
Function, Eq, dsolve
# Definir las variables y la función
x = symbols('x')
y = Function('y')(x)
# Definir la ecuación diferencial
ecuacion = Eq(y.diff(), 2 * x / (1 + 2 * y))
# Condición inicial
condicion_inicial = {y.subs(x, 2): 0} # y(2) = 0
# Resolver la ecuación diferencial
solucion = dsolve(ecuacion, y,
ics=condicion_inicial)
# Mostrar la solución
print("Solución de la ecuación:")
print(solucion)
Resolución 3
import sympy as sy
from sympy import symbols, Function, Eq, dsolve
# Definir las variables y la función
x = symbols('x')
y = Function('y')(x)
# Definir la ecuación diferencial
ecuacion = Eq(y.diff(x, 2) - 2 * y.diff() - 3 * y, 0)
# Resolver la ecuación diferencial
solucion = dsolve(ecuacion, y)
9
# Mostrar la solución
print("Solución de la ecuacion:")
print(solucion)
Resolución 4
from sympy import symbols, Function, Eq, dsolve
# Definir las variables y la función
x = symbols('x')
y = Function('y')(x)
# Definir la ecuación diferencial
ecuacion = Eq(4 * y.diff(x, 2) - y, 0)
# Condiciones iniciales
condiciones_iniciales = {y.subs(x, -2): 1,
y.diff(x).subs(x, -2): -1} # y(-2) = 1, y'(-2) = -1
# Resolver la ecuación diferencial con condiciones
iniciales
solucion = dsolve(ecuacion, y,
ics=condiciones_iniciales)
# Mostrar la solución
print("Solución de la ecuación:")
print(solucion)
Resolución 5
from sympy import symbols, Function, Eq, dsolve
# Definir las variables y la función
x = symbols('x')
y = Function('y')(x)
# Definir la ecuación diferencial
ecuacion = Eq(y.diff(x, 4) - 7 * y.diff(x, 3) + 6 *
y.diff(x, 2) + 30 * y.diff(x) - 36 * y, 0)
# Resolver la ecuación diferencial
solucion = dsolve(ecuacion, y)
# Mostrar la solución
print("Solución de la ecuación:")
print(solucion)
10
Resolución 6
from sympy import symbols, Function, Eq, dsolve
# Definir las variables y las funciones
t = symbols('t') # Variable independiente
x = Function('x')(t) # Función x(t)
y = Function('y')(t) # Función y(t)
# Definir la ecuación diferencial
ecuacion = Eq(x.diff(t), 3 * x - 5 * y)
# Resolver la ecuación diferencial
solucion = dsolve(ecuacion, x)
Mostrar la solución
print("Solución de la ecuación:")
print(solucion)
Resolución 7
from sympy import symbols, Function, Eq, dsolve
# Definir las variables y las funciones
t = symbols('t') # Variable independiente
x = Function('x')(t) # Función x(t)
y = Function('y')(t) # Función y(t)
# Definir el sistema de ecuaciones diferenciales
ecuacion1 = Eq(x.diff(t), 4 * x - 7 * y) # dx/dt = 4x
- 7y
ecuacion2 = Eq(y.diff(t), 5 * x)
# dy/dt = 5x
# Resolver el sistema de ecuaciones diferenciales
solucion = dsolve([ecuacion1, ecuacion2], [x, y])
# Mostrar la solución
print("Solución de las ecuaciones:")
print(solucion)
Resolución 8
from sympy import symbols, Function, Eq, dsolve
# Definir las variables y las funciones
t = symbols('t') # Variable independiente
x = Function('x')(t) # Función x(t)
11
y = Function('y')(t) # Función y(t)
z = Function('z')(t) # Función z(t)
# Definir el sistema de ecuaciones diferenciales
ecuacion1 = Eq(x.diff(t), -3 * x + 4 * y - 9 * z) #
dx/dt = -3x + 4y - 9z
ecuacion2 = Eq(y.diff(t), 6 * x - y)
# dy/dt =
6x - y
ecuacion3 = Eq(z.diff(t), 10 * x + 4 * y + 3 * z) #
dz/dt = 10x + 4y + 3z
# Resolver el sistema de ecuaciones diferenciales
solucion = dsolve([ecuacion1, ecuacion2,
ecuacion3], [x, y, z])
# Mostrar la solución
print("Solución de las ecuaciones:")
print(solucion)
Solucion 2
Ya que no carga la solución, se decidió por
demostrar las gráficas.
import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt
# Definir el sistema de ecuaciones diferenciales
def sistema_ecuaciones(t, z):
x, y, z = z # z = [x, y, z]
dx_dt = -3 * x + 4 * y - 9 * z # dx/dt = -3x + 4y 9z
dy_dt = 6 * x - y
# dy/dt = 6x - y
dz_dt = 10 * x + 4 * y + 3 * z # dz/dt = 10x + 4y
+ 3z
return [dx_dt, dy_dt, dz_dt]
# Condiciones iniciales [x(0), y(0), z(0)]
condiciones_iniciales = [1, 0, 0] # x(0) = 1, y(0) =
0, z(0) = 0
# Intervalo de integración [t0, tf]
t0 = 0
tf = 5
# Resolver el sistema de ecuaciones
12
sol = solve_ivp(sistema_ecuaciones, [t0, tf],
condiciones_iniciales, method='RK45',
t_eval=np.linspace(t0, tf, 1000))
# Extraer los resultados
t_vals = sol.t
x_vals = sol.y[0]
y_vals = sol.y[1]
z_vals = sol.y[2]
# Graficar la solución
plt.plot(t_vals, x_vals, label="x(t)")
plt.plot(t_vals, y_vals, label="y(t)")
plt.plot(t_vals, z_vals, label="z(t)")
plt.xlabel("t")
plt.ylabel("x(t), y(t), z(t)")
plt.title("Solución de dx/dt = -3x + 4y - 9z, dy/dt =
6x - y, dz/dt = 10x + 4y + 3z")
plt.legend()
plt.grid()
plt.show()
13