import matplotlib.pyplot as plt
import numpy as np
# Ejemplo Funcion Lineal
def graficar(x,y):
plt.plot(x,y)
plt.grid()
plt.axhline(y=0, color='r', linewidth=0.8)
plt.axvline(x=0, color='r', linewidth=0.8)
plt.show()
N = 100 # N es la resolucion de una funcion
m = 1 # Pendiente de la recta
b = 0 # Punto de corte con el eje Y
# Funcion lineal de primer grado
def f(x):
return m*x+b
x = np.linspace(-10,10, num=N)
y = f(x)
graficar(x,y)
# Polinomio Grado IMPAR
def f(x):
return (2*x**7)-(x**4)+(3*x**2)+4
y = f(x)
plt.plot(x,y)
plt.grid()
# Polinomio Grado PAR
def f(x):
return (2*x**8)-(x**4)+(3*x**2)+4
y = f(x)
graficar(x,y)
# Ejemplo Funcion Potencia
def f(x):
return x**8
y = f(x)
graficar(x,y)
# Ejemplo Funcion Trigonometrica
def f(x):
return np.cos(x)
y = f(x)
graficar(x,y)
def f(x):
return np.exp(x)
y = f(x)
graficar(x,y)
# Ejemplo Funciones Logaritmicas
def f(x):
return np.log(x)
x = np.linspace(0.001, 256, num=1000)
y = f(x)
graficar(x,y)
# Ejemplo Escalon de Heaviside
def H(x):
Y = np.zeros(len(x))
for idx,x in enumerate(x):
if x >= 0:
Y[idx] = 1
return Y
N = 1000
x = np.linspace(-10,10,N)
y = H(x)
graficar(x,y)
# Ejemplo Valor Absoluto
def A(x):
Y = np.zeros(len(x))
for idx,x in enumerate(x):
if x >= 0:
Y[idx] = x
else:
Y[idx] = x*(-1)
return Y
N = 1000
x = np.linspace(-120,120,N)
y = A(x)
graficar(x,y)
# f(g(x))
N = 1000
x = np.linspace(-10,10,num=N)
def g(x):
return x**2
def f(x):
return np.sin(x)
y = g(x)
f_o_g = (f(g(x)))
# f_o_g
graficar(x,f_o_g)
# Desplazamientos verticales y horizontales
N = 100
def f(x):
return x**2
c = 5
x = np.linspace(-10,10, num=N)
y2 = f(x) + (c+5)
y3 = f(x) - (c+5)
y4 = f(x - c)
y5 = f(x + c)
fig, ax = plt.subplots(2,2, figsize=(18,8))
def graficar2(pos,y,title):
ax[pos].plot(x,y)
ax[pos].set_title(title)
ax[pos].grid()
ax[pos].axhline(y=0, color='r', linewidth=0.8)
ax[pos].axvline(x=0, color='r', linewidth=0.8)
graficar2((0,0),y2,'$y = f(x) + (c+5)$')
graficar2((0,1),y3,'$y = f(x) - (c+5)$')
graficar2((1,0),y4,'$y = f(x - c)$')
graficar2((1,1),y5,'$y = f(x + c)$')
plt.tight_layout()
# Ejemplos Alargamientos y Compresion
N = 1000
def f(x):
return np.sin(x)
c = 2
y = f(x)
y1 = c*f(x)
y2 = (1/c) * f(x)
y3 = f(c * x)
y4 = f((1/c) * x)
graficar(x,y) # Funcion Original
fig, ax = plt.subplots(2,2, figsize=(18,8))
# graficar2(())
graficar2((0,0),y1,'$y = c*f(x)$')
graficar2((0,1),y2,'$y = (1/c) * f(x)$')
graficar2((1,0),y3,'$y = f(c * x)$')
graficar2((1,1),y4,'$y = f((1/c) * x)$')
plt.tight_layout()
# Ejemplos Reflexion
N = 1000
def f(x):
return x**3
x = np.linspace(-10,10, num=N)
y1 = f(x)
y2 = -f(x)
y3 = f(-x)
fig, ax = plt.subplots(1,3, figsize=(18,8))
graficar2((0),y1,'$y=f(x)$')
graficar2((1),y2,'$y=f(-x)$')
graficar2((2),y3,'$y=-f(x)$')
fig.tight_layout()
#Funcion Lineal
def f(x):
return x
y = x
graficar(x,y)
# Función escalón o de Heaviside
def H(x):
Y = np.zeros(len(x))
for idx,x in enumerate(x):
if x>=0:
Y[idx]=1
return Y
y = H(x)
plt.plot(x,y)
plt.grid()
# Función sigmoide
def f(x):
return 1/(1 + np.exp(-x))
y = f(x)
graficar(x,y)
def f(x):
return np.tanh(x)
N=1000
y = f(x)
graficar(x,y)
def f(x):
return np.maximum(x,0)
N=1000
y = f(x)
graficar(x,y)
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1.2, 2, 3.2, 2.5, 5, 6, 4, 8])
y = np.array([2, 3, 3.4, 3.1, 4, 4.7, 3.8, 7])
n = len(x)
xy = np.sum((x*y),axis=0)
x_2 = np.sum((x**2), axis=0)
sum_x = np.sum(x, axis=0)
sum_y = np.sum(y, axis=0)
def m():
numerador = (n*xy) - (sum_x * sum_y)
denominador = (n*x_2) - (sum_x**2)
return np.divide(numerador,denominador)
m = m()
def b():
numerador = sum_y - (m * sum_x)
denominador = n
return np.divide(numerador, denominador)
b = b()
def f():
return (m*x)+b
y_prima = f()
df = pd.DataFrame.from_dict({
"xy" :xy,
"x_2" :x_2,
"sum_x" :sum_x,
"sum_y" :sum_y,
"m" :m,
"b" :b,
"y_prima" :y_prima,
},)
df.head(1)
# Graficar
plt.scatter(x,y)
plt.plot(x,y_prima, '--')
plt.xlabel('x1000\npublicidad')
plt.ylabel('ganancias')
plt.grid()
plt.xlim(0,10)
plt.ylim(0,10)
sum_y_prima = np.sum(y_prima, axis=0)
def MSE():
return (1/n) * np.sum((y - y_prima)**2, axis=0)
mse = MSE()
print(f"""
mse {mse}
""")