оценка определяемой пользователем функции в gnuplot

#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))