Tremblement au voisinage de $0$

adrien2019
Modifié (August 2022) dans LaTeX
Bonjour à tous
Je cherche à tracer le graphique sur $\left[ - \frac{1}{2} , \frac{1}{2} \right]$ de la fonction qui vaut $0$ en $0$ et $\left| (1+x)^{1/x} - \mathrm{e} \right| = \left| \exp \left( \frac{\ln (1+x)}{x} \right) - \mathrm{e} \right|$ ailleurs. Voici mon code tex:
\documentclass[a4paper,8pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{float}
\usepackage[francais]{babel}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing, calligraphy, tikzmark, matrix, fit, positioning}
\usetikzlibrary{shapes,backgrounds}
\usepackage[left=2.8cm,right=2.9cm,margin=2cm]{geometry}
\usepackage{tcolorbox}
\newcommand{\cbox}[1]{\raisebox{\depth}{\fcolorbox{black}{#1}{\null}}}
\setlength{\parindent}{0pt}

\begin{document} \begin{figure}[H] \centering \begin{tikzpicture}[scale=3] \draw[step=1cm, gray, very thin] (-1, -0.1) (1.2, 1.8); \draw[very thin, ->] (-1,0) -- (1.2,0) node[below]{$x$}; \draw[very thin, ->] (0,0) -- (0,1.7) node[left]{$y$}; \foreach \x in {-1,-0.5,0,0.5,1} \draw (\x, 1pt) -- (\x, -1pt) node[below]{$\x$}; \foreach \y in {0.5,1,1.5} \draw (1pt, \y) -- (-1pt, \y) node[left]{$\y$}; \draw[blue, very thick] [domain=-0.5:-0.01,samples=300] plot (\x,{abs(exp( ln(1+ \x)/\x) - exp(1))}); \draw[blue, very thick] [domain=0:0,samples=300] plot (\x,{0}); \draw[blue, very thick] [domain=0.01:0.5,samples=300] plot (\x,{abs(exp( ln(1+ \x)/\x) - exp(1))}); \end{tikzpicture} \captionsetup{labelformat=empty} \caption{La fonction à majorer} \end{figure} \end{document}
Comme vous pouvez le voir sur la photo jointe, il y a un "tremblement" au voisinage de $0$ (dont je souhaiterais bien sûr me débarrasser).
Quelqu'un sait-il comment modifier le code pour résoudre ce problème?
Je note également que si je remplace le morceau de code
\draw[blue, very thick] [domain=-0.5:-0.01,samples=300] plot (\x,{abs(exp( ln(1+ \x)/\x) - exp(1))});
\draw[blue, very thick] [domain=0:0,samples=300] plot (\x,{0});
\draw[blue, very thick] [domain=0.01:0.5,samples=300] plot (\x,{abs(exp( ln(1+ \x)/\x) - exp(1))});
par
\draw[blue, very thick] [domain=-0.5:0.5,samples=300] plot (\x,{abs(exp( ln(1+ \x)/\x) - exp(1))});
la compilation me renvoie quand même un graphique, qui oscille toujours au voisinage de $0$, mais qui est défini malgré la division par $0$...
Je vous remercie d'avance pour votre aide!

Réponses

  • Calli
    Modifié (August 2022)
    Bonsoir,
    Avec l'option smooth ça oscille déjà un peu moins.
    \draw[blue, very thick, smooth] [domain=-0.5:-0.01,samples=300] plot (\x,{abs(exp( ln(1+ \x)/\x) - exp(1))});
    \draw[blue, very thick] [domain=0:0,samples=300] plot (\x,{0});
    \draw[blue, very thick, smooth] [domain=0.01:0.5,samples=300] plot (\x,{abs(exp( ln(1+ \x)/\x) - exp(1))});
    Et tu peux éventuellement régler d'impact de l'option smooth avec l'option tension=[nombre entre 0 et 1].
    Tu peux aussi virer la portion de courbe qui foire et la remplacer par un segment. À l'œil nu, on ne verra peut-être pas la différence.

    PS: Il faut mettre des accolades autour des instructions suivant \foreach.
  • Une remarque, je ne sais pas si je vais beaucoup aider… 

    Avec GeoGebra, on peut tracer la courbe puis exporter l’image en code LateX. 
    Par contre, le code est difficilement exploitable, de mémoire. Je veux dire dans le cas où l’on voudrait le retravailler. 
  • adrien2019
    Modifié (August 2022)
    @Calli merci! Ça arrange un peu !
    @Dom pourriez-vous détailler comment il faut s'y prendre ? Je n'ai pas GeoGebra et ne sais pas comment m'en servir. Lorsque l'on fait un code en GeoGebra et qu'on l'exporte en tex, est-ce que le texte de la légende est de la même taille que le texte du reste du document tex ? $\textit{Idem}$ pour les chiffres sur la graduation des axes ?
  • Il suffit de télécharger GeoGebra (gratuit !). 
    Puis en tâtonnant on trouve « exporter » et on choisit « Tikz », de mémoire. 
  • Dom
    Dom
    Modifié (August 2022)
    Je viens d’entrer la fonction dans Google et je n’obtiens pas la courbe que tu obtiens. 
    Est-ce que quelque chose m’échappe ?

    exp((ln(1+x))/x)-exp(1)



    Une remarque : tu fais bien de te méfier des tailles et polices de caractère dans l’export. J’avais eu des petites surprises (mais je ne suis pas du tout doué avec LateX). 
  • @Dom oui en effet j'avais oublié d'indiquer les valeurs absolues autour de ma formule. J'ai modifié le message initial (désolé).

    Pourriez-vous mettre ici le code tex que vous donne GeoGebra à l'export?
  • Dom
    Dom
    Modifié (August 2022)
    Désolé, je n’ai pas de PC à portée de main pour le moment. Sur le téléphone, le rendu est propre. Hélas, pas d’export LateX sur la version mobile. 



    Comme GeoGebra peut être téléchargé, quel est le problème ? 
    Je ne sais pas si la version en ligne (donc utilisable par tout le monde théoriquement) propose un tel export…
  • Ce qu'il est possible de faire, c'est de faire un graphique sans légende ni nombres, avec e.g. Geogebra, puis de coller lesdites légendes avec TiKZ.
  • adrien2019
    Modifié (August 2022)
    @Dom J'ai téléchargé GeoGebra, mais je n'ai pas réussi à l'installer (je ne sais pas pourquoi, mon ordinateur refuse...). Je me suis néanmoins débrouillé en ligne, et j'ai un truc qui ne marche pas trop mal. Voici le code.
    \documentclass[a4paper,8pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{graphicx}
    \usepackage{float}
    \usepackage[francais]{babel}
    \usepackage{graphicx}
    \usepackage{pgfplots}
    \usepackage{caption}
    \usepackage{xcolor}
    \usepackage{pgfplots}
    \pgfplotsset{compat=1.15}
    \usepackage{mathrsfs}
    \usetikzlibrary{arrows}
    \usepackage{tikz}
    \usetikzlibrary{decorations.pathreplacing, calligraphy, tikzmark, matrix, fit, positioning}
    \usetikzlibrary{shapes,backgrounds}
    \usepackage[left=2.8cm,right=2.9cm,margin=2cm]{geometry}
    \usepackage{tcolorbox}
    
    \newcommand{\cbox}[1]{\raisebox{\depth}{\fcolorbox{black}{#1}{\null}}}
    \setlength{\parindent}{0pt}
    \begin{document}
    \begin{figure}[H]
    \centering
    \begin{tikzpicture}
    \begin{axis}[
    axis lines=middle,
    xmin=-1,
    xmax=1.3,
    ymin=-0.2,
    ymax=1.8,
    xtick={-1,-0.5,0,0.5,1},
    ytick={0,0.5,1,1.5}]
    \draw[very thick,color=blue,smooth,samples=100,domain=-0.5:0] plot(\x,{abs((1+(\x))^(1/(\x))-exp(1))});
    \draw[very thick,color=blue,smooth,samples=100,domain=-0.001:0.5] plot(\x,{abs((1+(\x))^(1/(\x))-exp(1))});
    \draw (1.25,-0.1) node {$x$};
    \draw (-0.1,1.75) node {$y$};
    \end{axis}
    \end{tikzpicture}
    \captionsetup{labelformat=empty}
    \caption{La fonction à majorer}
    \end{figure}
    \end{document}
    Ça a l'air pas trop mal. Il y a encore un très léger tremblement au voisinage de $0$, mais c'est quasiment invisible. Si quelqu'un a encore mieux à proposer, qu'il n'hésite pas (sinon ça n'est pas grave, le rendu est déjà assez bien)!
    Merci pour vos réponses (et merci d'avance pour les prochaine s'il y en a d'autres)!
Connectez-vous ou Inscrivez-vous pour répondre.