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"
Другие вопросы по тегам