Como usar funções matemáticas não embutidas no gnuplot

3

Eu sempre considerei gnuplot como muito útil, e ainda mais, desde que eu usei tikz em documentos XL A T E . Infelizmente, o número de funções principais implementadas em gnuplot é muito pequeno, muitas vezes eu preciso de funções especiais como as funções modificadas de Bessel, K ν e I ν . Essas funções não podem ser escritas usando as funções existentes disponíveis no gnuplot. Existe uma maneira de vincular as bibliotecas gnuplot e gsl ? Eu tenho navegado gnuplotting.org e outros sites dedicados a gnuplot bu Eu não encontrei nenhuma palavra sobre este assunto. Se alguém tiver uma pista, eu apreciaria.

    
por Tom-Tom 12.12.2014 / 10:06

1 resposta

2

Se você puder escrever um comando que possa calcular a função de que precisa, então está pronto:

gnuplot> f(x) = real(system(sprintf("echo %f", x)))
gnuplot> plot f(x)

(veja help system )

Você pode usar, por exemplo, oitava para calcular seu valor. Por exemplo, se o seu sistema for linux, você pode ter diretamente:

gnuplot> bJ(a,x) = real(system(sprintf("echo 'besselj(%f,%f)' | octave | grep ^ans | cut -f 2 -d =", a,x)))
gnuplot> plot [0:20] bJ(1,x)

Demorará algum tempo a correr! Defina o valor sample para algo baixo até definir todos os detalhes do seu gráfico. Se precisar de replantar muitas vezes, você também pode tabular sua função primeiro usando set term table e, em seguida, plotar os valores tabulados.

    
por 04.02.2015 / 15:00