Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

# 5983855 BRUNO GONZALEZ

import numpy as np
import sympy as sym
import matplotlib.pyplot as plt
xi =[0, 0.2618, 0.5234, 0.7854, 1.0472, 1.309]
fi =[0, 1.0353, 2, 2.8284, 3.4641, 3.8637]
muestras=101
xi = np.array(xi)
B = np.array(fi)
n = len(xi)

D = np.zeros(shape=(n, n), dtype=float)


for i in range(0, n, 1):
for j in range(0, n, 1):
potencia = (n-1)-j
D[i, j] = xi[i]**potencia

coeficiente = np.linalg.solve(D, B)

x = sym.Symbol('x')
polinomio = 0
for i in range(0, n, 1):
potencia=(n-1)-i
termino=coeficiente[i]*(x**potencia)
polinomio=polinomio+termino

px=sym.lambdify(x, polinomio)

a = np.min(xi)
b = np.max(xi)
xin = np.linspace(a, b, muestras)
yin = px(xin)

w = 3.1
vc = 0
for i in range(0, n, 1):
pot = (n-1)-i
term = coeficiente[i]*(w**polinomio)
vc = vc+term

print('matriz vanderdome:')
print(D)
print("los coeficientes del polinomio")
print(coeficiente )
print('polinomio de interpolacion')
print(polinomio )
print('\n formato print')
sym.pprint(polinomio )
print('él valor es')
print(vc)

#grafica
plt.plot(xi, fi, 'o', label='[xi,fi]')
plt.plot(xin, yin, label='p(x)')
plt.xlabel('xi', color='y')
plt.ylabel('fi', color='y')
plt.legend()
plt.title('polinomio', color='k')
plt.axhline(y=0, color='k')
plt.axvline(x=0, color='k')
plt.grid(True)
plt.show()
matriz vanderdome:
[[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 1.00000000e+00]
[1.22983886e-03 4.69762742e-03 1.79435730e-02 6.85392400e-02
2.61800000e-01 1.00000000e+00]
[3.92797388e-02 7.50472656e-02 1.43384153e-01 2.73947560e-01
5.23400000e-01 1.00000000e+00]
[2.98850843e-01 3.80507821e-01 4.84476472e-01 6.16853160e-01
7.85400000e-01 1.00000000e+00]
[1.25935499e+00 1.20259262e+00 1.14838867e+00 1.09662784e+00
1.04720000e+00 1.00000000e+00]
[3.84324643e+00 2.93601714e+00 2.24294663e+00 1.71348100e+00
1.30900000e+00 1.00000000e+00]]
los coeficientes del polinomio
[-0.02186219 0.17658501 -0.86946624 0.09406152 3.98644684 0.
]
polinomio de interpolacion
-0.0218621863320005*x**5 + 0.176585005056818*x**4 -
0.869466241916374*x**3 + 0.0940615243509896*x**2 + 3.98644683736835*x

formato print
5 4 3
- 0.0218621863320005⋅x + 0.176585005056818⋅x - 0.869466241916374⋅x +
0.0940

2
615243509896⋅x + 3.98644683736835⋅x
él valor es
3.36576493852778*3.1**(-0.0218621863320005*x**5 +
0.176585005056818*x**4 - 0.869466241916374*x**3 +
0.0940615243509896*x**2 + 3.98644683736835*x)

You might also like