Pgfplots: no se pueden trazar algunas funciones matemáticas habituales

Pgfplots: no se pueden trazar algunas funciones matemáticas habituales

Estoy empezando a aprender pgfplots y me gustaría trazar algunas funciones: raíz cúbica, inversa y algunas funciones trigonométricas.

El problema es que para la función y=1/x, une los puntos entre las partes negativa y positiva del dominio: no podemos ver la asíntota.

\documentclass{minimal}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[]
\addplot [domain=-10:10, samples=100]{x^(-1)};
\end{axis}
\end{tikzpicture}
\end{document}

Con la función y=x^{1/3}, no muestra la parte negativa del dominio. Y con las funciones trigonométricas, simplemente no hace nada bien...

\addplot[domain=-27:27]{x^(1/3)};
\addplot[domain=-2*pi:2*pi]{cos(rad(x))};

muchas gracias si me pueden ayudar un poquito.


Muchas gracias por tus respuestas, es de gran ayuda. Sólo una última cosa: la función raíz cúbica tiene una parte negativa en su dominio que no se puede mostrar. ¿Sabes por qué?

\begin{tikzpicture} 
\begin{axis}[
    width=8cm,xlabel={$x$},
    ylabel={$y$},grid=both, axis x line=middle, axis y line=middle, 
    title={$f(x)=x^{1/3}$}] 
\addplot[blue,domain=-27:27, no markers,samples=100] {x^(1/3)}; 
\end{axis} 
\end{tikzpicture}

NB: Sí, la función raíz cúbica tiene un dominio parcialmente negativo, y no, no hay parte imaginaria. NB: lo siento, estoy insistiendo en una de mis primeras preguntas en este comentario que se supone que es una "respuesta", soy nuevo aquí y, como todavía no estoy registrado, no lo sé. ¿Cómo puedo preguntar algo relacionado con el tema en un nuevo "comentario de pregunta"?

Respuesta1

Para mantener separadas las partes negativas y positivas del 1/xgráfico, debe asegurarse de que la función se evalúe en x=0. Si su dominio es simétrico, puede especificar simplemente un número impar de muestras ( samples=101, por ejemplo). También debes asegurarte de que los valores no reales no se descarten silenciosamente, sino que provoquen un salto en la trama. Para hacer eso, especifique unbounded coords=jump(en lugar del comportamiento predeterminado discard).

Las funciones trigonométricas en PGF esperan grados, por lo que tendrás que convertir radianes a grados usando deg(x)(no rad(x), que se usa para convertir grados a radianes).

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[enlargelimits=false]
\addplot [domain=-10:10, samples=101,unbounded coords=jump]{x^(-1)};
\end{axis}
\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}[enlargelimits=false]
\addplot[domain=-2*pi:2*pi, samples=100]{cos(deg(x))};
\end{axis}
\end{tikzpicture}
\end{document}

Respuesta2

Las otras respuestas proporcionan formas ingeniosas de trazar 1/x, pero nadie ha explicado cómo trazar.x^(1/3)

El problema surge en bastantes programas/calculadoras gráficas diferentes. Las raíces cúbicas a menudo se calculan utilizando logaritmos, por lo que a veces parece que no están definidas para números negativos. Por supuesto, sabemos que podemos sacar la raíz cúbica de cualquier número real, así que tenemos que engañar al programa/calculadora.

Una forma de hacer esto es trazar

x/|x| * (|x|)^(1/3)

que traza la función de raíz cúbica y cambia furtivamente los signos de manera apropiada. Por supuesto, esta función no está definida en 0, por lo que en realidad no estáiguala la función de raíz cúbica, pero nos sirve :)

ingrese la descripción de la imagen aquí

\documentclass{standalone}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
    \begin{axis}
       \addplot[blue,domain=-10:10, samples=200]{x/abs(x)*abs(x)^(1/3)};
    \end{axis}
\end{tikzpicture}

\end{document}

Respuesta3

Creo que sus expectativas son demasiado grandes ya que pgfplots no es un sistema de álgebra informática (CAS). Entonces necesitas ayudarlo masajeando los datos. Además, samplesla opción hace una gran diferencia, ya que los gráficos realmente conectan los puntos y, para ver si un valor no está limitado, debe evaluarse en ese punto; de lo contrario, los resultados serán finitos y conectarán esos puntos.

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[restrict y to domain=-9.9:9.9]
\addplot [domain=-10:10, samples=200]{x^(-1)};
\addplot[blue,domain=-10:10, samples=200]{x^(1/3)};
\addplot[red,domain=-2*pi:2*pi, samples=200]{sin(deg(x))};
\end{axis}
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada