GNUPlot中第二类修改贝塞尔函数

时间:2013-09-01 12:05:22

标签: matlab gnuplot

我必须在GNUPlot中绘制K-Distribution并且这样做我需要在GNUPlot中使用第二种伽马和修改的贝塞尔函数。 GNUPlot具有内置的gamma功能,但似乎没有第二种修改后的bessel功能。如果可能的话,我希望解决方案的功能与尽可能MATLAB中的解决方案类似。我已经尝试搜索解决方案,但截至目前尚无法找到它(或bessel函数的GNUplot版本)。

如果这是一个错误的地方,请告诉我一个更合适的地方。

2 个答案:

答案 0 :(得分:1)

无法直接在gnuplot中计算它们,但您可以使用外部工具生成数据文件并绘制它。使用例如以下脚本callbesselk.oct

# callbesselk.oct start inc stop alpha
#
x_start = str2num(argv(){1});
x_inc = str2num(argv(){2});
x_end = str2num(argv(){3});
alpha = str2num(argv(){4});
x = x_start:x_inc:x_end;
[k, kerr] = besselk(alpha, x);
out = [x; k];
printf("%f %f\n", out);

并使用gnuplot

绘制数据
plot '< octave -q callbesselk.oct 0 0.01 10 2'

答案 1 :(得分:0)

gnuplot中没有这些特殊的bessel函数;有两个patches到gnuplot,允许你使用外部库中的函数。