Escolar Documentos
Profissional Documentos
Cultura Documentos
Santiago Araujo, Juan Bustamante, Berenice Guerrero, Felipe Mendieta, Marcelo Peñafiel .
santiago.araujo@ucuenca.edu.ec
juan.bustamantea@ucuenca.edu.ec
berenice.guerrero@ucuenca.edu.ec
felipe.mendieta98@ucuenca.edu.ec
david.penafiel@ucuenca.edu.ec
Universidad de Cuenca. Facultad de Ingeniería.
En el campo de la ingeniería los cálculos matemáticos a Para este caso se plantea encontrar una ecuación de la
gran escala son necesarios para la realización de diversos recta que pasa por los puntos a y b. Al formular la ecuación:
tipos de obras o también para un diseño de redes de algún tipo
extremadamente complejo como, por ejemplo, el de una red
de servicio eléctrico. Una de las herramientas más útiles para
poder solucionar cálculos muy complejos, son las diversas
clases de métodos numéricos usados para la resolución de
diversas situaciones. Se iguala y=0 ya que se quiere calcular la raíz de la función
lineal generada entre a y b:
Dos de los problemas que se encuentran y que se pueden
resolver por medio del uso de métodos numéricos son el de
encontrar las raíces de una función de la forma f(x)=0 y la
segunda es la interpolación de varios puntos para así poder Ahora se despeja x, siendo esta la raíz buscada:
encontrar una función que recorra cada uno de ellos.
𝑓(𝑥𝑛 ) = 𝑐
𝑓(𝑥𝑛−1 ) − 𝑓(𝑥𝑛−2 )
𝛿0 =
𝑥𝑛−1 − 𝑥𝑛−2
Donde:
𝑐 = 𝑓(𝑥𝑛 )
Funciones importantes:
La presente función llamada llenarMatriz, se encarga de 2.00)(x-2.50)(x-3.00)-0.00030294754868142893(x-
calcular los valores de los coeficientes, siguiendo la fórmula 1.00)(x-1.50)(x-2.00)(x-2.50)(x-3.00)(x-
planteada anteriormente. 3.50)+3.593116032706831e-05(x-1.00)(x-1.50)(x-
def llenarMatriz(matriz,vector,grado): 2.00)(x-2.50)(x-3.00)(x-3.50)(x-4.00)-
for i in range (grado+1): 2.27131832573972e-06(x-1.00)(x-1.50)(x-2.00)(x-
valor = math.atan(vector[i]) 2.50)(x-3.00)(x-3.50)(x-4.00)(x-4.50)-
matriz[i,0] = valor 2.8502653443409865e-07(x-1.00)(x-1.50)(x-2.00)(x-
for i in range(1,grado):
2.50)(x-3.00)(x-3.50)(x-4.00)(x-4.50)(x-5.00)
for j in range(i,grado):
valor = (matriz[j,i-1]-matriz[j-1,i-1])/(vector[j]- Valor con polinomio de Newton:
vector[j-i])
matriz[j,i] = valor
1.373400766945016
Valor con la función: 1.373400766945016
Una vez calculados los coeficientes se procede a mostrar
Diferencias en intervalo [0,8]
el polinomio. Para esto usamos tanto la matriz de coeficientes
como el vector de intervalos. La función que cumple con este [-0.11069247684521656, -
proceso es: 0.035074391758089435, -0.008547066426500827, -
def mostrarPolinomio(vector,matriz,grado): 0.0013789540879065587, -3.802806732777775e-05,
pol = "" 4.628701513809119e-05, 4.203050959161736e-06, -
if (matriz[0][0]!=0): 5.406198262392081e-06, -9.60360328816634e-07,
pol = "{0:.2f}".format(matriz[0,0]) 1.2217961700144997e-06, 3.6266032710230434e-07,
a = ""
-4.531179853550782e-07, -2.0835361147497622e-07,
for j in range(0,grado):
if (matriz[j+1,j+1]>0): 2.5647523660410343e-07, 1.7595367007849916e-07,
pol+="+" -2.1507377501173153e-07, -2.174350151040727e-07,
if (matriz[j+1,j+1]!=0): 2.6752165438459485e-07, 4.0300729420295056e-07,
pol+=str(matriz[j+1,j+1])+"*"#"{0:.5f}".format -5.118699784034675e-07, -1.2005059195629997e-06,
a +="(x-"+"{0:.2f}".format(vector[j])+")"
1.666032095615222e-06, 6.848749324106507e-06, -
pol+=a
print("Polinomio:\n",pol) 1.2518972900110725e-05, -
0.00015537281943456271, -0.0006790350588921079,
-0.002143790409209201, -0.005638314477418804, -
Por último, se realiza muestra el valor calculado por el 0.013113077086425395, -0.027853681761070836, -
polinomio y por la función arctan(x) para que el usuario
0.05513124892993715, -0.10307240158933073, -
pueda visualizar la diferencia entre estas. La función
encargada de calcular el valor f(x) en el polinomio es:
0.18379716660713896]