我找不到我的错误。我试图绘制一个函数,但 Latex 出错了。代码如下:
\documentclass[a4paper,11pt]{article}
\usepackage{tikz, tkz-euclide}
\usetikzlibrary{calc,intersections,through,backgrounds,through, shapes, decorations}
\usetkzobj{all}
\usepackage{calc}
\begin{document}
\begin{tikzpicture}[xscale=1, yscale=1]
\fill[very thin, gray!40, domain=0:2, variable=\x] (0,0) -- (0,4.6667) -- plot (\x,{-1*\x + 4.6667}) -- (4.6667,0) -- cycle ;
\draw[very thick, black, domain=-2:5,smooth,samples=100,variable=\x] plot ( \x , {1/3*(\x^3) - 2*(\x^2) + 3*(\x) + 2}) ;
\draw[very thick, black, dashed, domain=-1:5.52,smooth,samples=100,variable=\x] plot ( \x , {-1*\x + 4.6667}) node[anchor=north] {$k$};
\draw[very thick,red] (-2,0) -- (5,0) node[anchor=west] {x};
\draw[very thick,red] (0,-1) -- (0,6) node[anchor=south] {y};
\end{tikzpicture}
\end{document}
由此得出如下图所示:
但它应该是:
哪里出了问题?(不是多余的线和矩形,而是负片上的多余曲线)
答案1
正如评论中所述埃塞克斯,你需要\x
在应用指数之前将放在括号中,参见
取自我该如何解决这个 TikZ 错误:(\x)^2 和 \x^2 在 TikZ 图中产生不同的结果?(杰克的答案):
这不是一个错误。TeX 执行的是纯文本替换,因此being被 替换为
{\x^2}
, 其正确计算结果为 , 因为幂运算符确实优先于一元否定(理应如此)。\x
-2
{-2^2}
-4
您正在寻找的是
{(\x)^2}
,它可以按预期工作。
\documentclass{article}
\usepackage{tikz}
\begin{document}
% https://tex.stackexchange.com/questions/159011/
\begin{tikzpicture}
\draw[line width= 1mm, black, domain=-1:5,smooth,samples=100,variable=\x] plot ( \x , {1/3*(\x)^3 - 2*(\x)^2 + 3*\x + 2});
\draw[line width= 2mm, red, domain=-1:5,smooth,samples=100,variable=\x] plot ( \x , {1/3*\x^3 - 2*\x^2 + 3*\x + 2});
\end{tikzpicture}
\end{document}