Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
import numpy as np def interpolação_linear(): N=int(input('número de pontos: ')) Xn=[] Yn=[] for i in range(N): Xi=float(input('x%d='%i)) Yi=float(input('y%d='%i)) Xn.append(Xi) Yn.append(Yi) x=float(input('Valor de x a ser aproximado')) A=[] b=[] for i in range(N): pot=0 exp=N-1 linha=[] while pot<= exp: coef=pow(Xn[i],pot) linha.append(coef) pot+=1 b.append(Yn[i]) A.append(linha) print(A) print(b) coeficientes = np.linalg.solve(A,b) for i in range(len(coeficientes)): print('a%d=%f'%(i,coeficientes[i])) f=0 for i in range(len(coeficientes)): f+=coeficientes[i]*pow(x,i) print('O valor aproximado de f(x) foi de: %f'%f) def metodo_lagrange(): N=int(input('número de pontos: ')) Xn=[] Yn=[] for i in range(N): Xi=float(input('x%d='%i)) Yi=float(input('y%d='%i)) Xn.append(Xi) Yn.append(Yi) x=float(input('Valor de x a ser aproximado')) coef=[] for i in range(N): l=1 for j in range(len(Xn)): if i != j: l*=(x-Xn[j])/(Xn[i]-Xn[j]) coef.append(l) f=0 for i in range(len(coef)): f+=Yn[i]*coef[i] print(f)
Compartilhar