程序包 PGF 数学错误:抱歉,浮点单元的内部例程得到了格式错误的浮点数“Y”

程序包 PGF 数学错误:抱歉,浮点单元的内部例程得到了格式错误的浮点数“Y”

当我尝试编译此代码时:

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{pgfplots}

\pgfplotsset{compat=1.9}
\pgfplotsset{ownstyle/.style={width=4cm,height=4cm,xmin=-0.5,xmax=2,ymin=0,ymax=2,axis lines=center,axis line style={->},xlabel=t/s,ylabel=x(t),xtick={0,1},ytick={0,1}}}

\begin{document}
    \begin{tikzpicture}[declare function={func(\x)=((\x)<0) * (0) + and ((\x)>=0) * (1);}]
        \begin{axis}[ownstyle]
            \addplot+[no marks,black, line width=1pt,domain=-0.5:2]{func(x)};
        \end{axis}
    \end{tikzpicture}
\end{document}

我收到以下错误消息:

/home/max/.test.tex.swp:12:软件包 PGF 数学错误:抱歉,浮点单元的内部例程收到格式错误的浮点数“Y”。不可读部分位于“Y”附近。(在'((2Y5.0e-1])<0 中)(0)+和((2Y5.0e-1])>=0)(1)’)。

尽管错误消息来自这里这里是一样的,我找不到如何解决这个问题,而且对我来说这似乎不一样。

我猜测出现此问题是因为 addplot 为函数提供了一些奇怪的输入,但我不知道为什么以及如何更改/修复它。

答案1

我认为你只需and要从你的中删除func

您可能还喜欢使用samples at下面的代码,而不是仅仅定义域。

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{pgfplots}

\pgfplotsset{compat=1.9}
\pgfplotsset{ownstyle/.style={width=4cm,height=4cm,xmin=-0.5,xmax=2,ymin=0,ymax=2,axis lines=center,axis line style={->},xlabel=t/s,ylabel=x(t),xtick={0,1},ytick={0,1}}}

\begin{document}
    \begin{tikzpicture}[declare function={func(\x)=((\x)<0) * (0) + ((\x)>=0) * (1);}]
        \begin{axis}[ownstyle]
            \addplot+[no marks,black, line width=1pt,samples at={-0.5,-0.0001,0.0001,2}]{func(x)};
        \end{axis}
    \end{tikzpicture}
\end{document}    

相关内容