我必须在GNUPlot中绘制K-Distribution并且这样做我需要在GNUPlot中使用第二种伽马和修改的贝塞尔函数。 GNUPlot具有内置的gamma功能,但似乎没有第二种修改后的bessel功能。如果可能的话,我希望解决方案的功能与尽可能MATLAB中的解决方案类似。我已经尝试搜索解决方案,但截至目前尚无法找到它(或bessel函数的GNUplot版本)。
如果这是一个错误的地方,请告诉我一个更合适的地方。
答案 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,允许你使用外部库中的函数。