Hola, esta vez les hago una consulta totalmente distinta a las anteriores. Esta es sobre un punto fijo. El código corre perfecto y me muestra la gráfica que se espera que haga, sin embargo me tira el siguiente mensaje: /usr/bin/python3.8 /home/raiden/Programacion/Maigo/test.py 2.5 Formato: 2.5 resize 1.4: 0.5 q4 x q4 = 0.25 /home/raiden/Programacion/Maigo/test.py:93: *RuntimeWarning: divide by zero encountered in log S1_fp = numpy.log(abs(fft(s1_fp)))*
El código lo tengo en pastebin: Punto fijo <https://pastebin.com/Vpr9tiAj> Las búsquedas me dicen que es muy probable que sea numpy, pero no logro dar con el error. Para una mayor y mejor explicación les adjunto el mail con el cual me lo enviaron: Hasta donde sabía, ambos pudieron instalarse la librería fpbinary, no? Les adjunto un script de python para punto fijo y una función para generar una señal senoidal (creo que esta última ya la tenía hecha). Para que funcione tienen que poner dos cosas en la misma carpeta así el script sabe de donde sacar el include. Miren un poco como funciona la librería de punto fijo y traten de entender cómo está armado todo el script. Es clave esta línea *# convierto la señal a punto fijo* *s1_fp = [fpgen(x) for x in s1]* En s1 tengo guardada la señal en float, y para convertirla a punto fijo, llamo a fpgen con cada valor, que devuelve el mismo valor pero en punto fijo (está definida al principio del archivo). Esta estructura es típica de python, aunque C++ tiene algo parecido con el *for/in*. En este caso, el "for x in s1" recorre el array s1 (en python puede ir cualquier objeto iterativo), y devuelve ese valor en x. Para cada valor de x, llamo a fpgen(x), con eso convierto a punto fijo, y lo guardo en el array. Esto último se hace porque toda la expresión está entre corchetes, así cada valor de salida se guarda ordenado en un array. Bueno, les pido que puedan ejecutar y entender este script. En caso que lo decodifiquen bien, pueden intentar resolver los ejercicios de la guía de punto fijo, que originalmente están para matlab. Básicamente sería correr este script con diferentes resoluciones. Ese es el mensaje del correo. Él se refiere a que hay una pequeña función que se llama mi_sen() la cual pasa una serie de parámetros. Ese script estaba solo en otro fichero donde se importaba math y numpy. Cómo mi ide Pycharm 2020.1 me resaltaba justo esa línea dónde la importaba en el fichero principal ese módulo, lo que hice fue comentar la línea de import y puse esa función dentro del fichero principal. Pero sigo con ese problema del RuntimeWarning y no se qué puede ser. Muchas gracias
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es