Documentos de Académico
Documentos de Profesional
Documentos de Cultura
lineales
Nombre:
Materia
Carrera
Profesor
Año
Introducción:
Para resolver ejercicios de forma automatizada y que cumplan los requerimientos
que se piden en cada actividad, los cuales tomaría mucho tiempo hacerlos a
manos, se utilizara el programa Python, un lenguaje de programación que sirve
para crear programas funcionales.
Para este taller en específico se utilizará Python para realizar sumatorias, y para
crear formular que permitan crear funciones matemáticas simples creadas a partir
de métodos como polinomios de Taylor o newton raphson que emularan de forma
aproximada, funciones más complejas.
Ejercicio 1
B: La Fórmula del área de Gauss, es un algoritmo matemático usado para calcular el área de un
polígono simple cuyos vértices están descritos como pares de coordenadas en el plano. La fórmula
puede representarse mediante la expresión:
n
A=
1
2 |∑i=1
|
x i ( y i +1− y i−1 )
Donde
𝐴 es el área del polígono
𝑛 es el número de lados del polígono
(𝑥𝑖, 𝑦𝑖), 𝑖 = 1,2,3, … , 𝑛 son las coordenadas de los vértices del polígono
def entrada(n):
xi=[]
yi=[]
for i in range(n):
x=input("ingrese un valor x: ")
print(x)
y=input("ingrese un valor y: ")
print(y)
xi.extend(x)
yi.extend(y)
xi.extend(xi[0])
yi.extend(yi[0])
xi.reverse()
yi.reverse()
xi.extend(xi[1])
yi.extend(yi[1])
xi.reverse()
yi.reverse()
return n,xi,yi
Codigo Python
x=int(xi[i+1])
y=int(yi[i+1])
print(x,y)
Codigo Python
print(n)
import entrada
r=entrada.entrada(n)
xi=r[1]
yi=r[2]
import calculos
import salida
calculos.areapoligono(n,xi,yi)
salida.pares(n,xi,yi)
Codigo Python
import numpy as np
import math
a=0
x = np.arange(0,5,0.1)
fa = np.exp(a**2)
fx = np.exp(x**2)
p0=fa
p1=p0+((fa)*2*a)*(x - a)
p2=p1+(2*((fa)+(2*fa*(a**2)))/math.factorial(2))*((x - a)**2)
p3=p2+(2*((4*fa*(a**3))+(6*fa*a)))/math.factorial(3)*((x - a)**3)
p4=p3+(2*((8*fa*(a**4))+(24*fa*(a**2))
+(6*fa))/math.factorial(4))*((x - a)**4)
p5=p4+((32*(a**5)+(160*(a**3))+120*a)*fa)/math.factorial(5)*((x
- a)**5)
plt.plot(x,fx)
plt.plot(x,p1)
plt.xlabel('x')
plt.ylabel('y')
plt.title('P1')
plt.show()
plt.plot(x,fx)
plt.plot(x,p2)
plt.xlabel('x')
plt.ylabel('y')
plt.title('P2')
plt.show()
plt.plot(x,fx)
plt.plot(x,p3)
plt.xlabel('x')
plt.ylabel('y')
plt.title('P3')
plt.show()
plt.plot(x,fx)
plt.plot(x,p4)
plt.xlabel('x')
plt.ylabel('y')
plt.title('P4')
plt.show()
plt.plot(x,fx)
plt.plot(x,p5)
plt.xlabel('x')
plt.ylabel('y')
plt.title('P5')
plt.show()
y = 0.5
f2 = np.exp(y**2)
pa=p0+((fx)*2*a)*(y - a)
pb=pa+(2*((fx)+(2*fx*(a**2)))/math.factorial(2))*((y - a)**2)
pc=pb+(2*((4*fx*(a**3))+(6*fx*a)))/math.factorial(3)*((y - a)**3)
pd=pc+(2*((8*fx*(a**4))+(24*fx*(a**2))
+(6*fx))/math.factorial(4))*((y - a)**4)
pe=pd+((32*(a**5)+(160*(a**3))+120*a)*fx)/math.factorial(5)*((y
- a)**5)
e11=f2-pa
e21=f2-pb
e31=f2-pc
e41=f2-pd
e51=f2-pe
print(e1)
print(e2)
print(e3)
print(e4)
print(e5)
Ejercicio 3: Solución de ecuaciones no lineales
B: Considere la ecuación del movimiento de Kepler
𝑀 = 𝐸 − 𝑒 × 𝑠𝑒𝑛𝑜(𝐸)
import math
def poli(x):
e=0.0167
M=1
fx=M+(e*math.sin(math.degrees(x)))-x
return (fx)
xf=(xi+xs)/2
i=0
signo=""
limite=""
print('{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}
{:^10}'.format('#','L.inf','L.sup','Aprox','signo','cambio','error'))
i=i+1
print('{:^10}{:^10.4f}{:^10.4f}{:^10.4f}{:^10}{:^10}
{:^10.4f}'.format(i,float(xi),float(xs),float(xf),signo,limite,float(poli(xf
))))
xf = (xi+xs)/2.0
if poli(xi)*poli(xf) < 0:
xs=xf
signo='Negativo'
limite='Superior'
else:
xi=xf
signo='Positivo'
limite='Inferior'
Conclusiones