Solución:
No hay forma de representar gráficamente esta función. Tu herramienta de dibujo tiene un grosor. Si intentas representar el punto (1 / 2,0) que pertenece a la gráfica de la función de Dirichlet y 2ε
es el grosor del lápiz, cubrirá infinitos puntos de la forma (t, 0), con t irracional que no pertenecen al gráfico: hay infinitos números irracionales en el intervalo (-ε + 1/2, ε + 1/2), para alguna ε> 0. Lo mismo si desea dibujar un punto del gráfico con coordenada x irracional.
Aparte de esto, para este tipo de dibujos se necesitan números en representación de punto flotante, que son todos racionales; pero ni siquiera todos los números racionales en el intervalo [0,1] se pueden representar en la computadora como números de coma flotante.
Por lo tanto, la mejor representación de esta función que obtendría serían dos segmentos, lo cual es inútil.
Código
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}
Producción
begin{rant}
Estoy realmente sorprendido de que cualquier libro de texto de Cálculo muestre un gráfico de este tipo para esa función. Voy a agregar eso a mi libro en el que he estado trabajando titulado “¡Obviamente mal! “Por cierto, este es el primero cualquier anuncio público de este próximo libro … Nunca tuvo la intención de ser un libro técnico, pero este DEBE ir allí. Aunque tengo otro ejemplo matemático realmente impactante, pero lo guardaré para la próxima entrevista.
end{rant}
Dado que otros han dado sus gráficos, aquí está el mío y el racional detrás de él. / Dado que
- Entre dos números racionales cualesquiera hay un número infinito de irracionales, y
- Entre dos números irracionales cualesquiera hay un número infinito de números racionales
Yo diría que una mejor representación de la función dada es:
Si le preocupa no ver las discontinuidades, eso solo significa que no se ha acercado lo suficiente. 🙂 Sigue haciendo zoom y verás las discontinuidades.
Código:
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}