Почему pgfplots строит графики функций только до значений x = 5 и y = 5?

Почему pgfplots строит графики функций только до значений x = 5 и y = 5?

Почему pgfplots строит графики функций только до x = 5 и y = 5, но не дальше?

введите описание изображения здесь

\documentclass{article}

\usepackage{tikz}
\usepackage{pgfplots}

%%%<
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5pt}
%%%>

\begin{document}
\begin{tikzpicture}
\begin{axis}[samples=100,ymin=0,ymax=10,xmin=0,xmax=20]

\addplot [thick] plot  (\x,  {1/(1 + exp(-0.6*(\x - 12)))});
\addplot plot (\x, {\x});

\end{axis}
\end{tikzpicture}
\end{document}

решение1

В pgfplots. Тот, о котором вы спрашиваете, просто domain, который указывает, какие значения x(вам не нужна обратная косая черта, если вы используете pgfplots) используются при построении графика; по умолчанию у нас есть , что автор, по-видимому, считает разумным для типичных графиков. Для функций с двумя переменными domain = -5:5есть соответствующий .y domain

Этот домен сильно отличается от ограничений, установленных xminи xmax. В то время как domainустанавливается для каждого участка, эти ключи устанавливаются для каждой оси и просто ограничивают фактическоерисунокк этим пределам. Существуют соответствующие yminи ymax. Они будут вычислены автоматически, pgfplotsесли они не заданы, но для действительно отполированной картины необходимо задать их самостоятельно. Обратите внимание, что y domainделаетнетне имеют ничего общего с yminи ymaxв графике функций с одной переменной, поскольку он определяет входные данные несуществующей переменной y. Вместо этого yminи ymax, если бы они были определены автоматически, вычислялись бы из значений, выводимых вашими построенными функциями по domain.

Есть еще! Мои любимые — restrict x to domainи restrict y to domain, которые являются фильтрами с тем же синтаксисом ввода, что и domain. Они не определяют, какие числа используются в переменных; они определяют, какие значения используются в графике. Они чрезвычайно полезны с параметрическими или неконтролируемыми функциями; то есть \addplot {1/x};, при значении по умолчанию domain = -5:5, будет создавать довольно отвратительную асимптоту при , x = 0а также (при значении по умолчанию yminи ymax) сильно искаженный вид осей. Но настройка restrict y to domain = -5:5на этом графике просто устранит большие значения, удалив асимптоту, а также масштабируя изображение обратно до пропорционального квадрата.

Или, в качестве альтернативы, параметрический график, такой как \addplot ({exp(x)},{exp(-x)});(забавный способ нарисовать то же самое только в первом квадранте), который трудно настроить напрямую из-за логарифмической связи между значениями на графике и значениями переменной. Для этого как значения по умолчанию, так и domainразмеры осей по умолчанию не подходят; я обычно оставляю domainвсе как есть (что дает слишком большие числа в обеих координатах), а затем устанавливаю restrict x to domainи restrict y to domainсоответственно, чтобы красиво обрезать картинку. Это не значит, что это хорошая идея бытьполностьюне обращая внимания на domain, так как эти точкиявляютсявычисляется...просто не используется.

Эти ключи фильтра отличаются от ключей min и max, поскольку они фактически игнорируют отфильтрованные значения, а не просто вырезают их из картины. Это важно, если эти значения больше, чем TeX способен обработать.

Наконец, есть samplesили sample at, причем последний существует взаимоисключающе с domainи сказать, сколько, или дажеточнопри каких значениях xвычислять значения. Это может быть альтернативой ключам restrict to domain, если вы тщательно выбираете образцы, чтобы избежать исключительных входных данных. Они также полезны для настройки графика вокруг быстро меняющихся мест в графике, который в противном случае выглядел бы довольно прерывистым. Они также взаимодействуют с ключами restrict to domainв том смысле, что, скажем,

\addplot[
  domain = -5:5,
  samples = 11,
  restrict x to domain = -1:1,
  restrict y to domain = -1:1
] ({exp(x)},{exp(-x)});

будет оценено ровно 11 точек, а именно ({exp(-5)},{exp(5)})через ({exp(5)},{exp(-5)}), но будут нанесены на график только те, у которых обе координаты находятся в интервале [-1,1]. К сожалению, единственная точка с таким свойством — ({exp(0)},{exp(0)}) = (1,1), поэтому ваш график будет довольно пустым. Неотмеченные точки даже не используются для привязки интерполяционных кривых! Так что фильтрующие ключи — не панацея.

Мои картины имеют тенденцию застыватьвсеиз этих клавиш, поскольку каждая из них по-разному влияет на рисунок.

Связанный контент