3

Я всегда считал gnuplot очень полезным, и даже больше, так как я использую tikz в документах L A T E X. К сожалению, число основных функций, реализованных в gnuplot , довольно мало, мне часто нужны специальные функции, такие как модифицированные функции Бесселя K ν и I ν. Эти функции не могут быть написаны с использованием существующих функций, доступных в gnuplot. Есть ли способ связать библиотеки gnuplot и gsl ? Я просматривал gnuplotting.org и другие сайты, посвященные gnuplot я не нашел ни слова по этому вопросу. Если у кого-то есть подсказка, я был бы признателен.

1 ответ1

2

Если вы можете написать команду, которая может вычислить нужную вам функцию, то все готово:

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

(см. help system)

Таким образом, вы можете использовать, например, октаву для расчета вашей стоимости. Например, если ваша система 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 а затем построить график табличных значений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .