def graficocont(f, a, b, grau): grau += 1 g = [] for i in range(grau): g.append(x**i) B = np.zeros((grau,grau)) D = np.zeros((grau,1)) for i in range(grau): for j in range(grau): B[i][j] = integrate(g[i]*g[j], (x, a, b)) D[i][0] = integrate(g[i]*f, (x, a, b)) Y = sistLinear(B, D, grau) P = 0 for i in range(grau): P += Y[i][0]*x**i fig, ax = plt.subplots() z = np.arange(0,4,0.001) y = [] for i in range(len(z)): y.append(P.subs(x,z[i])) b = np.arange(0,4,0.001) w = [] for i in range(len(b)): w.append(f.subs(x,b[i])) ax.plot(b,w, label="Função f(x)") ax.plot(z,y, label='Função g(x)') ax.legend() ax.grid() plt.show()
def graficodis(pontos,grau): pts = len(pontos) g = np.zeros((grau+1,pts)) f = [] for j in range(pts): for i in range(grau+1): g[i][j] = pontos[j][0]**i f.append(pontos[j][1]) B = np.zeros((grau+1,grau+1)) for i in range(grau+1): for j in range(grau+1): soma = 0 for k in range(pts): soma += g[i][k] * g[j][k] B[i][j] = soma D = [] for i in range(grau+1): soma = 0 for k in range(pts): soma += g[i][k] * f[k] D.append([soma]) D = np.asarray(D) Y = sistLinear(B,D,grau+1) P = 0 for i in range(grau+1): P += Y[i][0]*x**i fig, ax = plt.subplots() z = np.arange(-4,4,0.001) y = [] for i in range(len(z)): y.append(P.subs(x,z[i])) b = [] w = [] for i in range(len(pontos)): b.append(pontos[i][0]) w.append(pontos[i][1]) ax.plot(b,w, "r*", markersize=6, label="Pontos da tabela") ax.plot(z,y, label='Função g(x)') ax.legend() ax.grid() plt.show()