2011-09-17 25 views
24

Estoy intentando trazar en gnuplot una función de log-periódica: cos ((log (abs (t-Tc)) * PI/log10 (lambda)) + phi)

Pero debido a la naturaleza de log (x) cerca de x = 0, la trama se está poniendo fea.Gnuplot resolución eje x

Cómo trazar una función de registro-periódico en gnuplot para que se vea bien?

Mi script trama se parece a esto:

phi = 1 
TcFormated = 9.67e+8 
lambda = 2 
PI = 3.1415 

g(t) = abs(cos((log(abs(t-TcFormated))*PI/log10(lambda)) + phi)) 

set tmargin at screen 0.01 
set bmargin at screen 0.99 
set lmargin at screen 0.01 
set rmargin at screen 0.99 

set xrange [8.4e+8:1.04e+9] 
set yrange [0:1] 
unset xtics 
unset ytics 
plot g(x) t '' w l 

pause -1 

log-periodic function

Después de configurar:

set samples 10000 

que tiene un gráfico mucho mejor mirando: log-periodic function with set samples 10000

+2

No puedo creer que 100 sea el predeterminado. Incluso el abs (x) es feo. Abrí "make 'set samples 1000' una solicitud de función predeterminada", veamos qué sucederá - https://sourceforge.net/p/gnuplot/feature-requests/376/ – Bulwersator

+0

Diferentes tarifas para diferentes funciones: http: // stackoverflow.com/questions/19524582/different-number-of-samples-for-different-functions –

+0

¡No puedo creer que haya sido rechazado tan rápido! @Bulwersator – innisfree

Respuesta

26

Si desea aumentar la resolución tratan

set samples <X> 

donde <X> es un entero. Por defecto, este número entero se establece en 100. Aumente ese número según sus necesidades.

Sin embargo, cuanto mayor sea el número entero elegido, más tiempo tardará gnuplot en trazar el gráfico.

Cuestiones relacionadas