Python: grafico, punti equidistanti e nodi
import numpy as np
def poli(x):
return (x-1)**9
#polinomio esteso
def funx_esercizio1_scomp(x):
return x**9-9*x**8+36*x**7-84*x**6+126*x**5-126*x**4+84*x**3-36*x**2+9*x-1
def parabola(x):
return x**2
#punti equidistanti intervallo
def punti_equidistanti(a, b, n):
x = np.linspace(a, b, n+1)
return x
#nodi di chebyshev
def chebichev(a, b, n):
x = (a+b)/2 + (b-a)/2 * np.cos(((2*np.arange(0, n+1)+1)* np.pi)/(2*(n+1)))
h = np.flipud(x)
return h
#intervallo
a = 0
b = 2
n = 9
#calcolo i punti equidistanti
punti = punti_equidistanti(a, b, n)
punti_in_matrice = np.array(punti)
print(punti_in_matrice)
import matplotlib.pyplot as plt
#applicati alla funzione. Crea il grafico
print("\npunti equidistanti")
plt.plot(punti, poli(punti), 'o')
plt.show()
x = np.linspace(0, 2, 300)
#grafico
print("\ngrafico della funzione")
plt.plot(x, poli(x), '-')
plt.show()
#grafico della funzione e i nodi equidistanti
plt.plot(x, poli(x), '-', punti, poli(punti), 'o')
plt.show()
#chebyshev
chebi = chebichev(a, b, n)
plt.plot(chebi, poli(chebi), 'o')
plt.show()
#grafico e nodi dichebyshev
plt.plot(x, poli(x), '-', chebi, poli(chebi), 'o')
plt.show()
print("\ngrafico con punti equidistanti e nodi di chebyshev")
plt.plot(x, poli(x), '-', punti, poli(punti), 'o', chebi, poli(chebi), 'o')
plt.show()