G-48 Tarea 1
G-48 Tarea 1
G-48 Tarea 1
Presentado a:
Edgar Andres Villabon
Tutor
Entregado por:
Marisol Oviedo Jaimes
Código: 1096957972
Alvaro Celis Bedoya
Grupo: 100401_48
Este trabajo tiene como aplicar los fundamentos básicos de un lenguaje de programación con la
video explicando uno de los ejercicios, los cuales son realizados en el programa jupyter notebook
mismo.
OBJETIVOS
Objetivo General
Objetivos Específicos
# module entrada.py
def entrada():
n=int(input("Por favor digite el número de lados del polígono "))
print("Usted digitó: {0}".format(n))
return n
# module calculos.py
from math import *
def areaPoligono(n):
xlist = []
ylist = []
for k in range(1, n+1):
x = int(input("x_{0} = ".format(k)))
xlist.append(x)
y = int(input("y_{0} = ".format(k)))
ylist.append(y)
sum = 0
for i in range(len(xlist)):
indexf = i+1
if indexf >= n:
indexf %= n
indexb = i-1
if indexb < 0:
indexb += n
#print("{0}, {1}, {2}".format(i, indexf, indexb))
sum += xlist[i] * (ylist[indexf]-ylist[indexb])
sum = abs(sum)/2.0
return sum
def calculos(n):
print("El área del polígono es {0}: ".format(areaPoligono(n)))
# module main.py
n = entrada()
print(n)
calculos(n)
Link video:
https://www.youtube.com/watch?v=8O2gGGmsY5U
• Genere un módulo en Python llamado convertir y que contenga las funciones indicadas más
abajo.
Construya una función en Python llamada dec2floatList que reciba como argumento un número
escrito en forma decimal y devuelva su representación en número flotante, empleando listas.
• Construya una función en Python llamada dec2floatDic que reciba como argumento un número
escrito en forma decimal y devuelva su representación en número flotante, empleando
diccionarios.
• Construya un programa en Python que llame las funciones indicadas arriba y escriba los
resultados de las funciones anteriores en un archivo de texto, con el siguiente mensaje: El número
dec en decimales corresponde a rom en números romanos.
En donde dec y rom son los valores de los números en decimales y en romanos, respectivamente,
por Ejemplo, en el archivo de texto debe aparecer:
def dec2floatList(numeroEntero):
numerosRomanos = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']
numerosNaturales = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
numeroSalida = ''
i=0
numeroSalida += numerosRomanos[i]
numeroEntero -= numerosNaturales[i]
i += 1
return numeroSalida
def dec2floatDic(numero):
numerosNaturales = miDiccionario.keys()
numeroSalida = ''
numeroSalida += miDiccionario[numeroNatural]
numero -= numeroNatural
return numeroSalida
print (dec2floatList(456))
print (dec2floatDic(456))
CDLVI
CDLVI
EJERCICIO 2
Ejercicio B: Marisol Oviedo Jaimes
Ejercicio 2. Teoría de Errores. 𝑓(𝑥)=𝑒𝑥2 , centrado en 𝑥=0 . Realice un programa en Python
empleando el Jupyter Notebook que: Determine los polinomios de Taylor desde el grado cero (0)
hasta el grado cinco (5).
Realice una gráfica comparativa con la evaluación de los polinomios solicitados en el numeral
anterior y determine cuál es el error de truncamiento resultante en cada uno de los polinomios
hallados.
Haga una gráfica del comportamiento del error para cada polinomio.
Haga un análisis de resultados basándose en la teoría y en los resultados obtenidos. Debe incluir
referencias a la bibliografía empleada usando las normas APA. Comentarios sin referencias no
serán tenidos en cuenta.
Desde la teoría expansiones de funciones en series de potencias, usamos la fórmula de Taylor
𝑓(𝑥)=∑∞𝑛=01𝑛!𝑓(𝑛)(𝑎)(𝑥−𝑎)𝑛
Sabemos del curso de cálculo que la función 𝑒𝑥 expandida alrededor de 0 es
𝑒𝑥=1+𝑥+12!𝑥2+13!𝑥3+…
si reemplazamos 𝑥 por 𝑥2, nos queda
𝑒𝑥2=1+𝑥2+12!𝑥4+13!𝑥6+…
manteniendo a orden 5 nos queda
𝑒𝑥2=1+𝑥2+12𝑥4
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from math import *
def f(x):
exp(pow(x,2))
fig, ax = plt.subplots()
ax.plot(xp, fp)
ax.plot(xp, gp)
ax.plot(xp, error)
ax.set(xlabel='x', ylabel='f(x)',
title='About as simple as it gets, folks')
ax.grid()
#ax.legend()
fig.savefig("test.png")
plt.show()
<class 'numpy.ndarray'>
<class 'numpy.ndarray'>
Ejercicio 2. Para cada uno de los ejercicios seleccionados realice un programa en Python
empleando el Jupyter Notebook que:
• Determine los polinomios de Taylor desde el grado cero (0) hasta el grado cinco (5)
• Realice una gráfica comparativa con la evaluación de los polinomios solicitados en el numeral
anterior y determine cuál es el error de truncamiento resultante en cada uno de los polinomios
hallados. Haga una gráfica del comportamiento del error para cada polinomio.
import numpy as np
init_session(quiet=True)
print('{:^52} {:^15} {:^23}'.format('Polinomio', 'Resultado', 'Error de Truncamiento'))
f = 1/(2-x)
valor = f.subs(x,0.5)
poly = []
for i in range(1,7):
poly.append(coef)
respuesta = coef.subs(x,0.5).evalf()
eT = valor - respuesta
x = np.linspace(0, 1, 100)
grafica = plt.figure()
grafica.set_figwidth(grafica.get_figwidth() * 4.0)
graf = []
graf.append(grafica.add_subplot(1, 2, 1))
poly_0 = 1/2
graf[0].grid(True)
graf[0].set_xlabel("x")
"$Polinomio_1(x) = 1 / 2 + x / 4$",
"$Polinomio_2(x) = 1 / 2 + x / 4 + \frac{x^{2}/8}$",
"$Polinomio_3(x) = 1 / 2 + x / 4 + \frac{x^{2}/8}$",
"$Polinomio_4(x) =1 / 2 + x / 4 + \frac{x^{2}/8}$",
Grafica
EJERCICIO 3
Ejercicio 3. Energía Eólica – Molino de viento: Cada vez es más común utilizar turbinas eólicas
para generar energía eléctrica. La producción de energía de la potencia generada por un molino
de viento depende del diámetro de la pala y la velocidad del viento. La siguiente fórmula
proporciona una buena estimación de la producción de energía:
𝐸𝑂=0.01328𝐷2𝑉3
Donde 𝐸𝑂 es la energía generada, 𝐷 es el diámetro de una pala del molino (m), 𝑉 es la velocidad
del viento (m/s). Determine cuál debería ser el diámetro de la pala del molino, en metros, si se
desea generar 500 𝑤𝑎𝑡𝑡𝑠 de potencia eléctrica cuando la velocidad del viento es 10 𝑚𝑝ℎ (millas
por hora).
#librerias
import math
def convertirvelocidad(V):
mph = 0.44704
resultado = V * mph
return resultado
def ecuacion():
Eo= 500
V = convertirvelocidad(10) **3
resultado= round(calculo, 4)
return 'El Diametro De La Pala Del Molino Es: ' + str(resultado) + ' Metros'
#Salida
print(ecuacion())
https://www.youtube.com/watch?v=hd-cC8Rg6Zk&feature=youtu.be
Conclusiones
Se logra entregar los ejercicios matemáticos en el programa sugerido por la Guía la cual
es Python.
Dar solución a problemas y ecuaciones en la herramienta Python es una buena alternativa
ya que es un lenguaje de programación, muy sencillo y fácil, su sintaxis es fácil de
entender puesto que es cercana al lenguaje natural, y los programas hechos en Python
parecen pseudocódigos, lo cual brinda una gran ayuda en su mantenimiento.