pgfplots с gnuplot: неожиданное поведение: почему?
Хотя я несколько раз успешно использовал pgfplots с gnuplot, я не могу найти причину следующей проблемы:
Я пытаюсь построить график функции, которую вы можете увидеть здесь: f (x) = (36/25) + (336 * x) / 125 - (6 * x ^ 2) / 5 + (24 * x ^ 3) / 125 - (х ^ 4) / 100.
Когда я строю функцию с помощью таких программ, как GeoGebra или вычисляю значения "вручную", я ясно вижу, что f(6)=0. Тем не менее, выход
\documentclass[a4paper,11pt]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{pgf,tikz}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot gnuplot[domain=3:7] {-(36/25) + (336*x)/125 - (6*x^2)/5 + (24*x^3)/125 - (x^4)/100};
\end{axis}
\end{tikzpicture}
\end{document}
является следующим, и это ясно показывает f(6)>0.
Это изображение показывает результат
Для меня это выглядит так, как будто полученный график нужно переместить вниз, чтобы получить правильный график. Что еще хуже, я также столкнулся со следующим непредвиденным поведением:
- (x^4)/100
с
- 1/100 * x^4
результат будет другим (но все же не правильным).
Поскольку другие функции с очень похожей структурой выглядели правильно, я сам не могу найти причину проблемы и надеюсь, что кто-нибудь сможет мне помочь.
1 ответ
Подобно C
gnuplot использует целочисленное деление, если оба значения являются целыми числами:
gnuplot print 1/100
0
gnuplot print 1/100.0
0.01