OldClaudio” post=73161Come si vede nelle ultime righe della tikzpicture ho impostato 1000 campioni. se si impostano valori inferiori, la curva di Lissajous non si chiude. Questo dipende dal ciclo for che à basato su numeri reali, quindi anche un minimo arrotondamento o troncamento può rendere verificato il test di fine ciclo prima che in effetti la curva sia chiusa; bisognerebbe avere l’accortezza di eseguire i cicli usando solo numeri interi per “contare” le iterazioni.
Provate a sostituire 1000 con 750, con 500, e via scendendo; la curva non si chiude mai e quando il numero di campioni scende sotto a 200 si vede ad occhio nudo che pfgplots non ce la fa a rendere la curva come si deve.
Per sbaglio ho messo una volta il numero 75000 come numero di campioni; sebbene i calcoli li faccia Lua con aritmetica floating point, il tempo che ci mette lascia dubitare che la memoria, oltre che il processore, sia messa a dura prova; però alla fine del calcolo, la lettura del file log è stranamente molto parca; non ho ancora imparato a decifrare completamente le indicazioni che vi appaiono, ma sembra che occupi pochissima memoria.
Si può “giocare” sulla precisione del passo. Del codice precedente, modificando [tt]step=2*math.pi[/tt] con [tt]step=string.format(“\%.10f”,2*math.pi/s)[/tt] la curva si chiude. Ho provato anche con 150 campioni e la curva rimane identica, con 100 invece non si chiude.
Ciao
Orlando
Edit: con [tt]step=string.format(“\%.50f”,2*math.pi/s)[/tt] e 100 campioni la curva si chiude ma non viene tanto bene. Però ammetto che non so questo cosa comporti in termini di memoria.