我想使用esami
包中的变量显示具有随机变化的图形。我尝试使用 tikz,但当我将其放入\FPsv
点的坐标中时,我收到很多错误消息。这是我的代码:
\FPsetpar{s0}{-4}{4}
\begin{tikzpicture}
\begin{axis}[
axis x line=middle, axis y line=middle, grid=both,
ymin=-5, ymax=5, ytick={-5,...,5}, ylabel=$s$,
xmin=0, xmax=8, xtick={0,...,8}, xlabel=$t$,
domain=0:8,samples=101, % added
]
\draw [very thick] (0,\FPsv{s0}) to (1,1) to (2,1);
\end{axis}
\end{tikzpicture}
我做错了什么吗?也许我应该使用不同的包来完成这项任务?
答案1
如果要在tikz
代码中使用宏,其名称不能包含数字,只能包含字母。此外,最好在tikz
代码外部生成计算值,方法是使用宏,\FPval
如以下示例所示:
\FPsetpar{a}{2}{8}
\FPsetpar{m}{2}{8}
\FPval{c}{m*a-1}
\FPsetpar{b}{2}{\c}
\FPsetpar{ka}{1}{2}
\begin{tikzpicture}
\draw[thick,->](-\a,0)--(4,0)node[below]{$x$};
\draw[thick,->](0,-1)--(0,3)node[right]{$y$};
\draw[dotted,thick] (2,1.5)--(2,0);
\draw[dotted,thick] (2,1.5)--(2,1.5);
\draw[fill] (2,1.5) circle (1pt);
\node at (2,-.3){\scriptsize{$\a$}};
\node at (-.3,1.5){\scriptsize{$\sempli{b}{2}$}};
\draw[dashed] (\ka,1.5) circle (2.5cm);
\end{tikzpicture}
然而,目前该练习的参数版本还不起作用。
您还可以使用该pstricks
包来处理图形中的参数。
答案2
您不需要使用 esami 包来生成随机数。以下代码也为第一个坐标赋予了区间内的随机值[-4,4]
。
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis x line=middle, axis y line=middle, grid=both,
ymin=-5, ymax=5, ytick={-5,...,5}, ylabel=$s$,
xmin=0, xmax=8, xtick={0,...,8}, xlabel=$t$,
domain=0:8,samples=101, % added
]
\draw [very thick] (0,{8*(rand-0.5)}) to (1,1) to (2,1);
\end{axis}
\end{tikzpicture}
\end{document}