我必须在 GNUPlot 中绘制K 分布,为此我需要 GNUPlot 中的第二类伽玛和修正贝塞尔函数。GNUPlot 有一个内置的 gamma 函数,但似乎没有第二类修改后的 bessel 函数。如果可能的话,我希望解决方案的功能尽可能类似于MATLAB中的解决方案。我已经尝试过寻找解决方案,但至今仍找不到它(或贝塞尔函数的 GNUplot 版本)。
如果这是错误的地方,请引导我到更合适的地方。
无法直接在 中计算它们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'
这些特定的贝塞尔函数在 gnuplot 中不可用。gnuplot有两个补丁,允许您使用来自外部库的函数。