# ---------------------------------------
# INTERPOLACION LINEAL DE UNA SEÑAL
# ---------------------------------------
def interpolar(signal, puntos_interpolados):
resultado = []
for i in range(len(signal)-1):
y0 = signal[i]
y1 = signal[i+1]
paso = (y1 - y0) / (puntos_interpolados + 1)
resultado.append(y0)
for k in range(1, puntos_interpolados + 1):
y = y0 + paso * k
resultado.append(y)
resultado.append(signal[-1])
return resultado
# ---------------------------------------
# INGRESO DE DATOS
# ---------------------------------------
datos = []
print("Ingrese 10 puntos de la señal")
for i in range(10):
valor = float(input(f"Punto {i}: "))
datos.append(valor)
# ---------------------------------------
# INTERPOLACION
# ---------------------------------------
puntos_interpolados = 5
resultado = interpolar(datos, puntos_interpolados)
# ---------------------------------------
# RESULTADOS
# ---------------------------------------
print("\nSeñal original:")
print(datos)
print("\nSeñal interpolada:")
for i,v in enumerate(resultado):
print(f"{i:3} -> {v:.4f}")
print("\nTotal de puntos generados:",len(resultado))