Está en la página 1de 6

Departamento De Electrónica

Ingeniería Electrónica

“análisis numérico”
UNIDAD 3: “Interpolación”

Programas unidad 3

ESTUDIANTE(S):
Jose Eduardo Torres Miranda
NL: 37
Nc: 18150781

Docente: Claudia Edith Martínez Esquivel

Aguascalientes, Ags. A 18 de mayo de 2020.


método de Newton
f=[]

f1=[]

x=[]

m=[]

m1=[]

p=[]

c1=0

print("Metodo de Newton de diferencias divididas \n")

n=int(input("Cuantos datos tienes: "))

for i in range(n):

print("Valor de x en el dato ",i+1,":")

x.append(float(input()))

print("Valor de f(x) en el dato ",i+1,":")

f.append(float(input()))

x1=float(input("A que valor de x te quieres acercar: "))

#print(x)

#print(f)

f1=f

for j in range(0,n-1):

c=0

for i in range(1,n-c1):

p.append((f1[i]-f1[i-1])/(x[i+c1]-x[c]))

#print("f1[i] :",f1[i])

#print("f1[i-1] :",f1[i-1])

#print("x[i+c1] :",x[i+c1])

#print("x[i-c] :",x[i-c])

#print((f[i]-f[i-1])/(x[i]-x[i-1]))

c=c+1
f1=[]

f1=p

#print("2 : ",f1)

m.append(p)

p=[]

c1=c1+1

#print(m)

c2=1

for i in range(n-1):

c2=c2*(x1-x[i])

m1.append(c2)

#print(m1)

final=f[0]

for i in range(n-1):

final=final+(m[i][0]*m1[i])

print("el valor de f(x) para x=",x1, "es: ",final)


Método de Lagrange
from sympy import Symbol

import sympy

from os import system

while True:

try:

num=int(input('¿Cuantos datos tienes? '))

lvx=[]

lvy=[]

for i in range(num):

contx=float(input('Dame el valor no.' +str(i+1) +' para \'x\': '))

conty=float(input('Dame el valor no.' +str(i+1)+' para \'f(x)\': '))

lvx.append(contx)

lvy.append(conty)

valor = float(input('¿Que valor quieres evaluar? '))

system('cls')

break

except:

print('Debes ingresar numeros')

system('cls')

print('\tTABLA')

print('x: ',end='\t')

for i in lvx:

print(str(i)+'\t',end=' ')

print()

print('f(x): ',end=' ')

for i in lvy:
print(str(i)+'\t',end=' ')

print()

res = 0

for i in range(len(lvx)):

numerador = 1e-10

denominador = 1e-10

c=0

for j in lvx:

if c != i:

numerador = numerador * (valor - j)

if c != i:

denominador = denominador * (lvx[i] - j)

if j == lvx[-1]:

numerador = numerador * lvy[i]

c=c+1

if denominador != 0:

res = res + numerador/denominador

print('La aproximacion del numero: ',str(valor),' es: ',res)

También podría gustarte