鉴于
有没有一种简单的方法可以使用 PGF/TikZ 将条件定义为“合理”和“不合理”? 一个最小的例子将不胜感激。
这是迈克尔·斯皮瓦克 (Michael Spivak) 所著《微积分》一书中的有理/无理图之一,第 97 页。
答案1
没有办法用图形表示这个函数。你的绘图工具有厚度。如果你尝试表示属于狄利克雷函数图的点 (1/2,0),并且2ε
是铅笔的厚度,那么你将覆盖无限多个形式为 (t,0) 的点,其中 t 是无理数,不属于图:区间 (-ε+1/2,ε+1/2) 中有无数个无理数,对于任何ε>0。如果你想绘制图形上无理 x 坐标的点,方法也是一样的。
除此之外,对于这种绘图,您需要以浮点表示的数字,这些数字都是有理数;但甚至不是区间 [0,1] 内的所有有理数都可以在计算机中表示为浮点数。
因此,您获得的该函数的最佳表示将是两个段,这是无用的。
答案2
代码
\documentclass[tikz,border=2pt]{standalone}
\usepackage{mathtools}
\begin{document}
\begin{tikzpicture}
\draw (-2,0) -- (4,0);
\draw (0,-2) -- (0,4);
\foreach \x in {-2.0, -1.9, ..., 3.01}
\fill (\x,0) circle (1pt);
\foreach \x in {-1.95, -1.85, ..., 3.01}
\fill (\x,\x) circle (1pt);
\node at (4,1) {
$f(x) = \begin{cases*}
x, & $x$ rational \\
0, & $x$ irrational \\
\end{cases*}
$};
\end{tikzpicture}
\end{document}
输出
答案3
\begin{rant}
我真的很震惊,任何微积分教科书都会展示该函数的这种图形。我打算把它添加到我正在写的名为“显然是错的!“顺便说一句,这是第一的从未公开宣布过这本即将出版的书……它从未打算成为一本技术书籍,但这本书必须被收录进去。尽管如此,我还有一个真正令人震惊的数学例子,但我会把它留到即将到来的采访中。
\end{rant}
由于其他人已经给出了他们的图表,这里是我的,以及它背后的理由。/鉴于
- 任何两个有理数之间都有无数个无理数,并且
- 任何两个无理数之间都有无数个有理数
我认为给定函数的更好的表示是:
如果您担心看不到不连续性,那只是意味着您没有放大足够。:-) 继续放大,您将看到不连续性。
代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=middle,
clip=false,
mark=none,
ymin=-4.5, ymax=4.5,
xmin=-4.5, xmax=4.5
]
\addplot [red, ultra thick, domain=-4:4, latex-latex] {0};
\addplot [blue, ultra thick, domain=-4:4, latex-latex] {x};
\node at (axis cs:5.5,1.3)
{$f(x)=
\begin{cases}
\textcolor{blue}{x},\quad&\text{\textcolor{blue}{$x$ rational}} \\
\textcolor{red}{0},\quad&\text{\textcolor{red}{$x$ irrational}}
\end{cases}
$};
\end{axis}
\end{tikzpicture}
\end{document}
答案4
这是我能为您实现的最高分辨率!
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-plot}
\usepackage{amsmath}
\begin{document}
\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
\psaxes[linecolor=lightgray]{->}(0,0)(-3.5,-3.5)(3.5,3.5)[$x$,-90][$y$,180]
\psplot[linecolor=red]{-3}{3}{0}% for irrational
\psplot[linecolor=blue]{-3}{3}{x}% for rational
\rput(1.75,-1.5){\scriptsize
$f(x)=\begin{cases}
\color{blue}x,&\text{\color{blue}$x$ rational.}\\
\color{red}0,&\text{\color{red}$x$ irrational.}
\end{cases}$}
\end{pspicture}
\end{document}