caos y velocidad de iteracion

Francesc Altet faltet en carabos.com
Mar Mar 4 09:43:20 CET 2008


A Tuesday 04 March 2008, punchik punchik escrigué:
> hola que tal, soy nuevo en esta lista. estoy empezando con python
> basicamente para programar audio o mejor dicho para controlar
> algoritmicamente parametros de distintos generadores de audio.
> Primero me gustaria saber si hay librerias o modulos, para generar
> diferentes tipos de envolventes o curvas, como curva guassiana,  o
> librerias para generar numeros aleatorios basados en fractales , como
> atractores caoticos, etc.

Pues no lo sé.  Google siempre es tu amigo.  Por otro lado, puede que 
preguntando a la lista de SciPy [1] tengas más éxito que en esta.

[1] http://projects.scipy.org/mailman/listinfo/scipy-user

>   mi ultima pregunta es: como podria saber la velocidad con que mi
> computadora hacer una itearcion?
>
>
>   estoy haciendo una pequena interpolacion entre dos valores <en este
> caso de 0 a 100> , usando iteracion pero no percibo el resultado, asi
> que pienso que mi compu lo hace muy rapido  y el oido no lo capta
>
>   el codigo es algo asi:
>
>   for i in range(100) :
>    freq(i)
>    print i
>
>
>
>   como podria hacer que vaya de  0 a 100 en un tiempo definido por
> mi?

Pues hombre, si tenemos en cuenta que freq(i) es una funcion definida de 
antemano, poco puedes hacer para que el bucle vaya de 0 a 100 en un 
tiempo definido por tí (a menos que tengas unos poderes de los que 
carecemos el resto ;).

No nos has dicho el contexto en el que corres tu código, pero el print 
deberia de informarte en el mismo momento que acaba freq(i).  Sin 
embargo, hay situaciones en que has de forzar el vaciado del stdout.  
Por ejemplo, si corres un programa de modo batch en una máquina UNIX:

$ python programa.py > programa.out

y después espías la salida con el comando:

$ tail -f programa.out

no verás la salida en tiempo real, sino sólo cuando se ha llenado el 
buffer de salida.  Para forzar que se vacie el buffer de salida con 
cada print puedes hacer:

import sys
for i in range(100) :
   freq(i)
   print i
   sys.stdout.flush()

Saludos,

-- 
>0,0<   Francesc Altet     http://www.carabos.com/
V   V   Cárabos Coop. V.   Enjoy Data
 "-"
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es