Documentos de Académico
Documentos de Profesional
Documentos de Cultura
# PARTE 1
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# DOCUMENTACIÓN
'''
Autor: Diego Alejandro Montes Rolon
Christian Esteban Fuentes Quintero
-
funcion_lineal()
-
* Calcula la imagen para cada elemento de un arreglo de Numpy mediante la expre
sión
y = mx + b.
* Parametro:
- m (int) ---> representa la pendiente de la recta
- b (int) ---> representa la interseccion en el eje y de la recta
- x (numpy.ndarray) ---> representa el intervalo de graficacion
-
* Retorna
- y (numpy.ndarray) ---
> Reperesenta la imagen de evaluar cada elemento del
arreglo de numpy x mediante la expresion y = mx + b.
-
'''
# DOCUMENTACIÓN
'''
Autor: Diego Alejandro Montes Rolon
Christian Esteban Fuentes Quintero
-
regresion_lineal()
-
* Calcula los valores para calcular la pendiente y el punto de intersección par
a
graficar la regrecion con un proceso predefinido, que este procesova a depender
de la función estipulada anteriormente que en este caso es la lineal
* Parametro:
- m (int) ---> representa la pendiente de la recta
- b (int) ---> representa la interseccion en el eje y de la recta
- circuitos (numpy.ndarray) ---> representa los datos para el intervalo
de graficación
-
* Retorna
- y (numpy.ndarray) ---> Reperesenta la imagen de evaluar cada elemento del
arreglo de numpy x mediante la expresion y = mx + b.
-
'''
def regresion_lineal():
circuitos = pd.read_excel('/content/drive/MyDrive/Programación II/Libro1.xlsx
')
sumax = circuitos['Voltaje'].sum()
sumay = circuitos['Med'].sum()
n = circuitos['Med'].count()
sumaxy = ((circuitos['Voltaje']*circuitos['Med']).sum())*n
sumax2 = sumax**2
sumax2n = (((circuitos['Voltaje'])**2).sum())*n
sumax_y = sumax*sumay
mediax = circuitos['Voltaje'].mean()
mediay = circuitos['Med'].mean()
m = (sumax_y-sumaxy)/(sumax2-sumax2n)
b = mediay - m*mediax
return m, b, circuitos
# DOCUMENTACIÓN
'''
Autor: Diego Alejandro Montes Rolon
Christian Esteban Fuentes Quintero
-
grafica_lineal()
-
* Grafica la expresion y = mx + b y los puntos de x en forma de regreción, en u
na
ventana particular mediante dos arreglos de typo Numpy x, y
definidos por los arreglos de circuitos ejex y ejey respectivamente
* Parametro:
- pendiente (int) ---> representa la pendiente de la recta
- puntoc (int) ---> representa la interseccion en el eje de la recta
- circuitos (numpy.ndarray) ---> representa los datos para el intervalo
de graficación
-
* Retorna
- ventana (matplotlib.pyplot.plot) ---
> Representa la grafica de la expesión
y = mx + b con los valores del archivo de excel mediante el intervalo maxim
o
y minimo de x.
-
'''
def grafica_lineal():
m,b,circuitos = regresion_lineal()
circuitos.plot(x='Voltaje', y='Med', kind='scatter', title = 'Circuito',color
= 'darkred')
ejex = np.linspace(circuitos['Voltaje'].min(), circuitos['Voltaje'].max(), 10
)
ejey = funcion_lineal(ejex, b, m)
plt.plot(ejex, ejey, color = 'orange')
pendiente = ((circuitos['Voltaje'].max()) - (circuitos['Voltaje'].min()))/((c
ircuitos['Med'].max()) - (circuitos['Med'].min()))
puntoc = (circuitos['Med'].max())-pendiente*(circuitos['Voltaje'].max())
# PARTE 2
import pandas as pd