gnuplot - ограничивает ли `set xrange [x_min:x_max]` диапазон, используемый для подбора функции?
Простой вопрос - диапазон, нарисованный на графике, можно изменить с помощью set xrange [x_min:x_max]
команда.
Эта команда также ограничивает диапазон, используемый при подборе функции с использованием инструментов подбора данных в gnuplot? Есть ли способ вручную указать диапазон, используемый для подбора функций? (Одним из предположений может быть команда every
? Мне нужно перевезти xrange
с помощью every
?)
Причина, по которой я спрашиваю, заключается в том, что я использую xrange для отображения выходных данных, увеличенных в области x низкого значения, для более четкого просмотра переходного поведения, но я думаю, что это может быть "отрезание" значений из функции, подходящей для больших значений x вне xrange регион выбран?
2 ответа
Это старый вопрос, но текущий ответ неверен: текущие настройки xrange
влияет на диапазон, используемый для подгонки, если явный диапазон не указан как часть команды подгонки. Это легко увидеть на простом примере: если у вас есть файл данных test.dat
который содержит
1 1
2 2
3 3
4 4
5 6
6 8
7 10
8 12
и использовать линейную посадку, вы получите
fit a+b*x "test.dat" via a,b
plot "test.dat" w p, a+b*x w l
и подгонка параметров (а, б)=(-1,42, 1,59). Однако, если вы сначала установите xrange
ты получаешь
set xrange [4:8]
fit a+b*x "test.dat" via a,b
plot "test.dat" w p, a+b*x w l
и подгонка параметров (а, б)=(-4,2).
Это, по крайней мере, текущее поведение gnuplot 5.2, но этот старый поток из 2009 года предполагает, что это было поведение в течение достаточно долгого времени.
set xrange [x_min:x_max]
не влияет на диапазон, используемый при подгонке функции.
С fit
команда (то же самое относится к plot
) вы можете явно ограничить диапазон для соответствия переменной со следующим синтаксисом:
[{dummy_variable=}{<min>}{:<max>}]
Например, вы можете ограничить диапазон для оси x с помощью:
fit [min:max] f(x) "filename"