#input #gnuplot #user-defined-functions
#входные данные #gnuplot #определяемые пользователем функции
Вопрос:
Часто я заканчиваю тем, что в gnuplot есть пользовательские функции, такие как следующие:
a=1
b=1
y(x)=(-b sqrt(b**2-4*a*(1-x)))/(2*a)
Это позволяет мне легко строить графики y(x)
и сравнивать их с другими данными. Но иногда мне нужно было бы оценить y(x)
определенное значение (например y(1)
,), но если я:
gnuplot> y(1)
^
invalid command
Мое неубедительное решение этой проблемы заключается в том, чтобы:
gnuplot> plot y(1)
Warning: empty y range [0:0], adjusting to [-1:1]
Такой подход дает мне правильный ответ в первом наборе квадратных скобок. Но я уверен, что есть собственное решение для оценки моей пользовательской функции в gnuplot, которое я не смог найти.
Итак: знаете ли вы какой-нибудь способ оценки пользовательских функций в gnuplot?
Ответ №1:
Вы можете использовать print
. Если вы хотите отформатировать номер, вам нужно будет print sprintf()
. Например
print y(20)
print sprintf("%5.3f",y(20))