Buscar

Codigo metnumcomp

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)

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais