我一直认为gnuplot
它非常有用,自从我tikz
在 L A T E X 文档中使用以来,它就变得更加有用。不幸的是,核心实现函数的数量gnuplot
非常少,我经常需要特殊函数,如修改后的贝塞尔函数 K ν和 I ν。这些函数不能使用 gnuplot 中现有的函数来编写。有没有办法将 gnuplot 和gsl
库绑定在一起?我一直在浏览gnuplotting.org以及其他专门讨论gnuplot
bu 的网站,我没有找到有关此问题的任何信息。如果有人有线索,我将不胜感激。
答案1
如果你能编写一个可以计算你需要的函数的命令,那么你就完成了:
gnuplot> f(x) = real(system(sprintf("echo %f", x)))
gnuplot> plot f(x)
(看help system
)
因此,您可以使用 octave 等来计算您的值。例如,如果您的系统是 Linux,则可以直接使用:
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)
不过,运行起来需要一些时间!将值设置sample
为较低的值,直到您设置好绘图的每个细节。如果您需要多次重新绘图,您也可以先使用制表符将函数制成表格set term table
,然后绘制制表值。